예제 #1
0
파일: AContext.cs 프로젝트: decadestory/Edu
 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;
 }
예제 #2
0
        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;
        }