private static TableItem CreateFromDynamicMetaObject( IDynamicMetaObjectProvider entity, bool throwOnReservedPropertyName )
{
var properties = new Dictionary<string, Tuple<object, Type>>();
IEnumerable<string> memberNames = Dynamic.GetMemberNames( entity );
foreach ( var memberName in memberNames )
{
dynamic result = Dynamic.InvokeGet( entity, memberName );
properties[memberName] = new Tuple<object, Type>( (object) result, result.GetType() );
}
return new TableItem( properties, throwOnReservedPropertyName );
}