public Assembly GenerateDaoAssembly(bool useExisting = true) { Initialize(); _daoAssembly = TypeDaoGenerator.GetDaoAssembly(useExisting); Log.WarnIf(_daoAssembly == null, "Unable to generate dao assembly"); return(_daoAssembly); }
public void AddReferenceAssemblies(params Assembly[] assemblies) { foreach (Assembly assembly in assemblies) { TypeDaoGenerator.AddReferenceAssembly(assembly); } }
public DatabaseRepository(Database database, ILogger logger = null, ITypeTableNameProvider tableNameProvider = null, Func <SchemaDefinition, TypeSchema, string> schemaTempPathProvider = null) : this(tableNameProvider, schemaTempPathProvider) { Database = database; TypeSchemaGenerator = new TypeInheritanceSchemaGenerator(tableNameProvider, schemaTempPathProvider); TypeDaoGenerator = new TypeDaoGenerator(TypeSchemaGenerator); Logger = logger ?? Log.Default; TypeDaoGenerator.Subscribe(Logger); TypeSchemaGenerator.Subscribe(Logger); }
public virtual void Initialize() { if (!isInitialized) { lock (_initLock) { if (!isInitialized) { if (!StorableTypes.Any()) { throw new InvalidOperationException("No types were specified. Call AddType for each type to store."); } isInitialized = true; TypeDaoGenerator.AddTypes(StorableTypes); } } } }
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; }
public sealed override void Subscribe(ILogger logger) { TypeDaoGenerator.Subscribe(logger); TypeSchemaGenerator.Subscribe(logger); base.Subscribe(logger); }