protected virtual void AddPropertyColumn(SchemaManager schemaManager, DefaultDataTypeBehaviors defaultDataTypeBehavior, string tableName, PropertyInfo property) { DataTypes dataType = GetColumnDataType(property); if (dataType == DataTypes.Default) { switch (defaultDataTypeBehavior) { case DefaultDataTypeBehaviors.Invalid: case DefaultDataTypeBehaviors.Exclude: break; case DefaultDataTypeBehaviors.IncludeAsString: AddSchemaColumn(schemaManager, tableName, property, DataTypes.String); break; case DefaultDataTypeBehaviors.IncludeAsByteArray: AddSchemaColumn(schemaManager, tableName, property, DataTypes.ByteArray); break; default: break; } } else { AddSchemaColumn(schemaManager, tableName, property, dataType); } }
protected virtual void AddPropertyColumns(Type type, SchemaManager schemaManager, DefaultDataTypeBehaviors defaultDataTypeBehavior, ITypeTableNameProvider tableNameProvider = null) { string tableName = GetTableNameForType(type, tableNameProvider); foreach (PropertyInfo property in type.GetProperties().Where(p => p.CanWrite)) { AddPropertyColumn(schemaManager, defaultDataTypeBehavior, tableName, property); } }