public ObjectRepository() { ObjectReaderWriter = Repositories.ObjectReaderWriter.Default; MetaProvider = Repositories.MetaProvider.Default; BlockOnChildWrites = false; TypeSchemaGenerator = new TypeSchemaGenerator(); }
public ForeignKeyColumn ToForeignKeyColumn(ITypeTableNameProvider tableNameProvider = null) { ForeignKeyColumn result = new ForeignKeyColumn(Name, TypeSchemaGenerator.GetTableNameForType(_foreignKeyTableType), TypeSchemaGenerator.GetTableNameForType(DeclaringType, tableNameProvider)); result.DataType = DataTypes.Long; return(result); }
public SqlStringBuilder WriteSchemaScript(Database database, TypeSchemaGenerator typeSchemaGenerator, SchemaManager schemaManager = null) { schemaManager = schemaManager ?? new SchemaManager { AutoSave = false }; typeSchemaGenerator.SchemaManager = schemaManager; LastSchemaDefinitionCreateResult = typeSchemaGenerator.CreateSchemaDefinition(); return(WriteSchemaScript(database, LastSchemaDefinitionCreateResult)); }
protected void Initialize() { lock (_initLock) { if (!isInitialized) { if (!StorableTypes.Any()) { throw new InvalidOperationException("No types were specified. Call AddType for each type to store."); } isInitialized = true; SchemaDefinitionCreateResult = TypeSchemaGenerator.CreateSchemaDefinition(StorableTypes); } } }
public PropertyColumn(PropertyInfo property) { PropertyInfo = property; string columnName = property.Name.LettersOnly(); ColumnAttribute attr = null; if(property.HasCustomAttributeOfType<ColumnAttribute>(out attr)) { columnName = attr.Name; } Column = new Column(columnName, TypeSchemaGenerator.GetColumnDataType(property)); if(attr != null) { Column.AllowNull = attr.AllowNull; } }
private void CtorInit(ITypeTableNameProvider tableNameProvider = null, Func <SchemaDefinition, TypeSchema, string> schemaTempPathProvider = null) { TypeSchemaGenerator = new TypeSchemaGenerator(tableNameProvider, schemaTempPathProvider); TypeDaoGenerator = new TypeDaoGenerator(TypeSchemaGenerator); TypeDaoGenerator.SchemaWarning += (o, a) => { FireEvent(SchemaWarning, a); }; TypeDaoGenerator.GenerateDaoAssemblySucceeded += (o, a) => { GenerateDaoAssemblyEventArgs args = (GenerateDaoAssemblyEventArgs)a; FireEvent(GenerateDaoAssemblySucceeded, args); }; NullifyDaoAssemblyOnTypeAdd = true; WrapByDefault = true; WarningsAsErrors = true; Logger = Log.Default; }
/// <summary> /// Instantiate a new instance of TypeDaoGenerator /// </summary> /// <param name="logger"></param> /// <param name="types"></param> public TypeDaoGenerator(ILogger logger = null, IEnumerable <Type> types = null) { _namespace = "TypeDaos"; _daoGenerator = new DaoGenerator(DaoNamespace); _wrapperGenerator = new WrapperGenerator(WrapperNamespace, DaoNamespace); _typeSchemaGenerator = new TypeSchemaGenerator(); _additonalReferenceAssemblies = new HashSet <Assembly>(); TypeSchemaTempPathProvider = (schemaDef, typeSchema) => System.IO.Path.Combine(RuntimeSettings.AppDataFolder, "DaoTemp_{0}"._Format(schemaDef.Name)); _types = new HashSet <Type>(); if (logger != null) { Subscribe(logger); } if (types != null) { AddTypes(types); } }
public KeyColumn ToKeyColumn(ITypeTableNameProvider tableNameProvider) { string name = "Id"; if (DeclaringType != null) { PropertyInfo keyProperty = TypeSchemaGenerator.GetKeyProperty(DeclaringType); if (keyProperty != null) { name = keyProperty.Name; } } return(new KeyColumn { TableName = tableNameProvider.GetTableName(DeclaringType), //TypeSchemaGenerator.GetTableNameForType(DeclaringType), Name = name, DataType = DataTypes.Long }); }
public sealed override void Subscribe(ILogger logger) { TypeDaoGenerator.Subscribe(logger); TypeSchemaGenerator.Subscribe(logger); base.Subscribe(logger); }
public TypeDaoGenerator(TypeSchemaGenerator typeSchemaGenerator) : this() { _typeSchemaGenerator = typeSchemaGenerator; }