private static TableItem CreateFromAnonymousType( object entity, bool throwOnReservedPropertyName )
{
var properties = new Dictionary<string, Tuple<object, Type>>();
var allInstancePropertiesFlag = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
foreach ( var property in entity.GetType().GetTypeInfo().GetProperties( allInstancePropertiesFlag ) )
{
properties[property.Name] = new Tuple<object, Type>( property.GetValue( entity, null ), property.PropertyType );
}
return new TableItem( properties, throwOnReservedPropertyName );
}