/// <summary> /// 初始化一个<see cref="DbContextConfig"/>类型的新实例 /// </summary> internal DbContextConfig(ContextElement element) { Name = element.Name; Enabled = element.Enabled; DataLoggingEnabled = element.DataLoggingEnabled; ConnectionStringName = element.ConnectionStringName; ContextType = Type.GetType(element.ContextTypeName); InitializerConfig = new DbContextInitializerConfig(element.DbContextInitializer); }
/// <summary> /// 初始化一个<see cref="DbContextConfig"/>类型的新实例 /// </summary> internal DbContextConfig(ContextElement element) { Name = element.Name; Enabled = element.Enabled; DataLoggingEnabled = element.DataLoggingEnabled; ConnectionStringName = element.ConnectionStringName; ReadConnectionStringNames = element.ReadConnectionStringNames.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries); ContextType = Type.GetType(element.ContextTypeName); InitializerConfig = new DbContextInitializerConfig(element.DbContextInitializer); }
/// <summary> /// 初始化一个<see cref="DbContextConfig"/>类型的新实例 /// </summary> internal DbContextConfig(ContextElement element) { Name = element.Name; Enabled = element.Enabled; DataLoggingEnabled = element.DataLoggingEnabled; ConnectionStringName = element.ConnectionStringName; ReadConnectionStringNames = element.ReadConnectionStringNames.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); ContextType = Type.GetType(element.ContextTypeName); InitializerConfig = new DbContextInitializerConfig(element.DbContextInitializer); }
/// <summary> /// 初始化一个<see cref="DbContextConfig"/>类型的新实例 /// </summary> internal DbContextConfig(ContextElement element) { Name = element.Name; Enabled = element.Enabled; DataLoggingEnabled = element.DataLoggingEnabled; ConnectionStringName = element.ConnectionStringName; ContextType = Type.GetType(element.ContextTypeName); if (ContextType == null) { throw new InvalidOperationException(Resources.ConfigFile_NameToTypeIsNull.FormatWith(element.ContextTypeName)); } InitializerConfig = new DbContextInitializerConfig(element.DbContextInitializer); }
private static DbContextInitializerBase CreateInitializer(DbContextInitializerConfig config) { Type initializerType = config.InitializerType; DbContextInitializerBase initializer = Activator.CreateInstance(initializerType) as DbContextInitializerBase; if (initializer == null) { throw new InvalidOperationException(Resources.DatabaseInitializer_TypeNotDatabaseInitializer.FormatWith(initializerType)); } foreach (Assembly mapperAssembly in config.EntityMapperAssemblies) { if (initializer.MapperAssemblies.Contains(mapperAssembly)) { continue; } initializer.MapperAssemblies.Add(mapperAssembly); } dynamic dynamicInitializer = initializer; if (config.CreateDatabaseInitializerType != null) { dynamic createDatabaseInitializer = Activator.CreateInstance(config.CreateDatabaseInitializerType); dynamicInitializer.CreateDatabaseInitializer = createDatabaseInitializer; } return (DbContextInitializerBase)dynamicInitializer; }