public AContext(DbContextOption option) { if (option == null) { throw new ArgumentNullException(nameof(option)); } if (string.IsNullOrEmpty(option.ConnectionString)) { throw new ArgumentNullException(nameof(option.ConnectionString)); } if (string.IsNullOrEmpty(option.ModelAssemblyName)) { throw new ArgumentNullException(nameof(option.ModelAssemblyName)); } Option = option; }
public AContextEF6(DbContextOption option) : base(option.ConnectionString) { Option = option; Configuration.AutoDetectChangesEnabled = false; Configuration.ValidateOnSaveEnabled = false; Configuration.LazyLoadingEnabled = false; Configuration.ProxyCreationEnabled = false; var isCreateDb = 0; switch (isCreateDb) { case 0: //从不创建数据库 Database.SetInitializer <AContextEF6>(null); break; case 1: //数据库不存在时重新创建数据库 Database.SetInitializer(new CreateDatabaseIfNotExists <AContextEF6>()); break; case 2: //每次启动应用程序时创建数据库 Database.SetInitializer(new DropCreateDatabaseAlways <AContextEF6>()); break; case 3: //模型更改时重新创建数据库 Database.SetInitializer(new DropCreateDatabaseIfModelChanges <AContextEF6>()); break; } ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180; }