Example #1
0
        protected virtual void CreateOrMigrate(AbpTenantBase tenant)
        {
            var args = new DbPerTenantConnectionStringResolveArgs(
                tenant == null ? (int?)null : (int?)tenant.Id,
                tenant == null ? MultiTenancySides.Host : MultiTenancySides.Tenant
                );

            args["DbContextType"]         = typeof(TDbContext);
            args["DbContextConcreteType"] = typeof(TDbContext);

            var nameOrConnectionString = ConnectionStringHelper.GetConnectionString(_connectionStringResolver.GetNameOrConnectionString(args));

            using (var uow = _unitOfWorkManager.Begin(TransactionScopeOption.Suppress))
            {
                using (var dbContext = _iocResolver.ResolveAsDisposable <TDbContext>(new { nameOrConnectionString = nameOrConnectionString }))
                {
                    var dbInitializer = new MigrateDatabaseToLatestVersion <TDbContext, TConfiguration>(
                        true,
                        new TConfiguration
                    {
                        Tenant = tenant
                    });

                    dbInitializer.InitializeDatabase(dbContext.Object);

                    _unitOfWorkManager.Current.SaveChanges();
                    uow.Complete();
                }
            }
        }
Example #2
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();

            var context = new DREAMContext();
            var initializeDomain = new CreateDatabaseIfNotExists<DREAMContext>();
            var initializeMigrations = new MigrateDatabaseToLatestVersion<DREAMContext, Configuration>();

            //initializeDomain.InitializeDatabase(context);
            //initializeMigrations.InitializeDatabase(context);

            //using (FSDirectory d = FSDirectory.Open(new DirectoryInfo(SearchIndex.DirPath)))
            //{
            //    SearchAutoComplete sac = new SearchAutoComplete(AppDomain.CurrentDomain.BaseDirectory + "/App_Data/SearchAutocompleteIndex");
            //    sac.BuildAutoCompleteIndex(d, "Keywords");
            //}

            Database.SetInitializer(new MigrateDatabaseToLatestVersion<DREAMContext, Configuration>());

            #if DEBUG && FALSE
            Database.SetInitializer(new DREAM.Models.DREAMContextInitializer());
            #endif
        }
Example #3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddReact();

            services.AddMvc();

            services.AddOptions();

            services.AddAuthentication(options => {
                options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            });

#if DEBUG
            var connectionString = Configuration.GetValue <string>("SqlConfig_Preprod:ConnectionString");
#else
            var connectionString = Configuration.GetValue <string>("SqlConfig:ConnectionString");
#endif
            var initializer = new MigrateDatabaseToLatestVersion <CodeGolfDbContext, Sql.Migrations.Configuration>(true);
            Database.SetInitializer(initializer);

            services.AddTransient <IRepository>(x => new Repository(connectionString));

            ConfigureAzureFunctionService(services);

            services.AddTransient <ProblemValidatorService>();
            services.AddTransient <LanguageFactory>();
        }
Example #4
0
        public TwitterContext()
            : base("TwitterContext", throwIfV1Schema: false)
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion <TwitterContext, Configuration>();

            Database.SetInitializer(migrationStrategy);
        }
Example #5
0
        public StudentContext()
            : base("name=StudentContext")
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion <StudentContext, Configuration>();

            Database.SetInitializer(migrationStrategy);
        }
Example #6
0
        public SQLServerDBContext() : base("name=connectionStringPMT")
        {
            var initializer = new MigrateDatabaseToLatestVersion <SQLServerDBContext, Migrations.Configuration>();

            Database.SetInitializer(initializer);
            this.Configuration.LazyLoadingEnabled = false;
        }
        public BookShopEntities()
            : base("BookShopEntities")
        {
            var migrateStrategy = new MigrateDatabaseToLatestVersion <BookShopEntities, Configuration>();

            Database.SetInitializer(migrateStrategy);
        }
Example #8
0
        public ATMEntities()
            : base("name=ATMEntities")
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion <ATMEntities, Configuration>();

            Database.SetInitializer(migrationStrategy);
        }
Example #9
0
        /// <summary>
        /// 初始化数据库
        /// </summary>
        /// <param name="dbContext"></param>
        public static void InitializeDatabase(EfDbContext dbContext)
        {
            if (!Core.AppContext.Settings.IsDynamicCompany)
            {
                return;
            }
            if (string.IsNullOrEmpty(Core.AppContext.CurrentSession.CompanyCode))
            {
                Database.SetInitializer <EfDbContext>(null);
                return;
            }
            lock (_lockObj)
            {
                if (_InitializedDbList.Contains(Core.AppContext.CurrentSession.CompanyCode))
                {
                    return;
                }
                _InitializedDbList.Add(Core.AppContext.CurrentSession.CompanyCode);
            }
            IDatabaseInitializer <EfDbContext> initializer;

            if (!dbContext.Database.Exists())
            {
                initializer = new CreateDbIfNotExists <EfDbContext>();
            }
            else
            {
                initializer = new MigrateDatabaseToLatestVersion <EfDbContext, MigrationsConfiguration>();
            }
            Database.SetInitializer(initializer);
        }
Example #10
0
        public SoftwareContableDbContext()
            : base("name=SoftwareContable")
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion<SoftwareContableDbContext, Configuration>("SoftwareContable");

            Database.SetInitializer(migrationStrategy);
        }
Example #11
0
        public ApplicationDbContext()
            : base("DefaultConnection", throwIfV1Schema: false)
        {
            var migration = new MigrateDatabaseToLatestVersion <ApplicationDbContext, Configuration>();

            Database.SetInitializer(migration);
        }
Example #12
0
        /// <summary>
        /// 设置数据库初始化,策略为自动迁移到最新版本
        /// </summary>
        public static void Initialize()
        {
            if (Core.AppContext.Settings.IsDynamicCompany)
            {
                return;
            }
            var context = new EfDbContext();

            context.Database.CommandTimeout = 180;
            IDatabaseInitializer <EfDbContext> initializer;

            if (!context.Database.Exists())
            {
                initializer = new CreateDbIfNotExists <EfDbContext>();
            }
            else
            {
                initializer = new MigrateDatabaseToLatestVersion <EfDbContext, MigrationsConfiguration>();
            }
            Database.SetInitializer(initializer);

            //EF预热,解决EF6第一次加载慢的问题
            ObjectContext objectContext         = ((IObjectContextAdapter)context).ObjectContext;
            var           mappingItemCollection = (StorageMappingItemCollection)objectContext.ObjectStateManager
                                                  .MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);

            mappingItemCollection.GenerateViews(new List <EdmSchemaError>());
            context.Dispose();
        }
Example #13
0
        private static void MigrateUsingInitializer()
        {
            var initializer = new MigrateDatabaseToLatestVersion <GlobalDataContext, Configuration>("MigrationDemo");

            Database.SetInitializer <GlobalDataContext>(initializer);
            PrintSeededData();
        }
Example #14
0
        /// <summary>
        /// 数据库初始化,自动迁移到最新版本
        /// </summary>
        public static void Initialize <TContext, TMigrationsConfiguration>(Action <TContext> callback = null)
            where TContext : DbContext, new()
            where TMigrationsConfiguration : DbMigrationsConfiguration <TContext>, new()
        {
            IDatabaseInitializer <TContext> initializer;
            var context = new TContext();

            if (!context.Database.Exists())
            {
                initializer = new CreateDatabaseIfNotExists <TContext>();
            }
            else
            {
                initializer = new MigrateDatabaseToLatestVersion <TContext, TMigrationsConfiguration>();
            }
            Database.SetInitializer(initializer);

            // 预先生成EF的映射视图
            using (context)
            {
                PreMapping(context);
                if (callback != null)
                {
                    callback(context);
                }
            }
        }
        static void Main()
        {
            var context = new PhoneBookContext();

            var migrationStrategy = new MigrateDatabaseToLatestVersion<PhoneBookContext, Configuration>();
            Database.SetInitializer(migrationStrategy);

            var contacts = context.Contacts
                .Select(c => new
                {
                    c.Name,
                    Phones = c.Phones.Select(p => p.PhoneNumber),
                    Emails = c.Emails.Select(e => e.EmailAddress)
                }).ToList();

            foreach (var contact in contacts)
            {
                Console.WriteLine(contact.Name);
                //foreach (var phone in contact.Phones)
                //{
                //    Console.WriteLine(phone);
                //}
                //foreach (var e in contact.Emails)
                //{
                //    Console.WriteLine(e);
                //}

                Console.WriteLine("Phones: {0}", string.Join(", ", contact.Phones));
                Console.WriteLine("Emails: {0}", string.Join(", ", contact.Emails));
                Console.WriteLine();

            }
        }
Example #16
0
        public static void Initialize()
        {
            var initializeMigrations =
                new MigrateDatabaseToLatestVersion <MyDataContext, Migrations.Configuration>();

            initializeMigrations.InitializeDatabase(new MyDataContext());
        }
Example #17
0
        public LibraryDbContext()
            : base("LibraryDbContext")
        {
            var migration = new MigrateDatabaseToLatestVersion <LibraryDbContext, Configuration>();

            Database.SetInitializer(migration);
        }
        public static ApplicationDbContext Create()
        {
            IDatabaseInitializer <ApplicationDbContext> strategy;

            switch (ConfigurationManager.AppSettings["Database_Initialize_Strategy"])
            {
            case "CreateDatabaseIfNotExists":
                strategy = new CreateDatabaseIfNotExists <ApplicationDbContext>();
                break;

            case "DropCreateDatabaseAlways":
                strategy = new DropCreateDatabaseAlways <ApplicationDbContext>();
                break;

            case "DropCreateDatabaseIfModelChanges":
                strategy = new DropCreateDatabaseIfModelChanges <ApplicationDbContext>();
                break;

            case "MigrateDatabaseToLatestVersion":
                strategy = new MigrateDatabaseToLatestVersion <ApplicationDbContext, Configuration>();
                break;

            default:
                strategy = new NullDatabaseInitializer <ApplicationDbContext>();
                break;
            }
            Database.SetInitializer(strategy);
            return(new ApplicationDbContext());
        }
        // Your context has been configured to use a 'MovieEntities' connection string from your application's
        // configuration file (App.config or Web.config). By default, this connection string targets the
        // '_05.CodeFirstMovies.MovieEntities' database on your LocalDb instance.
        //
        // If you wish to target a different database and/or database provider, modify the 'MovieEntities'
        // connection string in the application configuration file.
        public MovieEntities()
            : base("MovieEntities")
        {
            var migration = new MigrateDatabaseToLatestVersion <MovieEntities, Configuration>();

            Database.SetInitializer(migration);
        }
Example #20
0
        static void Main()
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion <BookShopContext, Configuration>();

            Database.SetInitializer(migrationStrategy);

            var context = new BookShopContext();

            var books = context.Books
                        .Take(3)
                        .ToList();

            books[0].RelatedBooks.Add(books[1]);
            books[1].RelatedBooks.Add(books[0]);
            books[0].RelatedBooks.Add(books[2]);
            books[2].RelatedBooks.Add(books[0]);

            context.SaveChanges();

            var booksFromQuery = context.Books.Take(3).ToList();

            foreach (var book in booksFromQuery)
            {
                Console.WriteLine("--{0}", book.Title);
                foreach (var relatedBook in book.RelatedBooks)
                {
                    Console.WriteLine(relatedBook.Title);
                }
            }
        }
Example #21
0
        public void MigrateDatabaseToLatestVersion_throws_when_given_invalid_connection_name()
        {
            var init = new MigrateDatabaseToLatestVersion <EmptyContext, TestMigrationsConfiguration>("YouWontFindMe");

            Assert.Equal(
                Strings.DbContext_ConnectionStringNotFound("YouWontFindMe"),
                Assert.Throws <InvalidOperationException>(() => init.InitializeDatabase(new EmptyContext())).Message);
        }
Example #22
0
        public EscortServiceHouseEntities()
            : base("EscortServiceHouseEntities")
        {
            var strategy =
                new MigrateDatabaseToLatestVersion <EscortServiceHouseEntities, Configuration>();

            Database.SetInitializer(strategy);
        }
Example #23
0
        public BookShopContext()
            : base("BookShopContext")
        {
            IDatabaseInitializer <BookShopContext> migrationStrategy =
                new MigrateDatabaseToLatestVersion <BookShopContext, Configuration>();

            Database.SetInitializer(migrationStrategy);
        }
        public MoviesEntities()
            : base("name=MoviesEntities")
        {
            var dropCreate = new DropCreateDatabaseAlways<MoviesEntities>();
            var migrateToLatest = new MigrateDatabaseToLatestVersion<MoviesEntities, Configuration>();

            Database.SetInitializer(migrateToLatest);
        }
Example #25
0
        public StudentSystemContext()
            : base("StudentSystemContext")
        {
            IDatabaseInitializer <StudentSystemContext> migrationStrategy =
                new MigrateDatabaseToLatestVersion <StudentSystemContext, Configuration>();

            Database.SetInitializer(migrationStrategy);
        }
Example #26
0
        public SupermarketChainOracleContext()
            : base("OracleDbContext")
        {
            var migration = new MigrateDatabaseToLatestVersion <SupermarketChainOracleContext, OracleConfiguration>();

            //var migration = new DropCreateDatabaseAlways<SupermarketChainOracleContext>();
            Database.SetInitializer(migration);
        }
Example #27
0
 public SqlServerDbContextInitializer()
 {
     DatabaseInitializer = new SqlServerCreateDatabaseIfNotExistsWithSeed();
     if (EnabledAutoMigrate)
     {
         DatabaseInitializer = new MigrateDatabaseToLatestVersion <UbpDbContext, SqlServerMigrationsConfiguration>();
     }
 }
Example #28
0
        /// <summary>
        /// 初始化一个<see cref="DbContextInitializerBase"/>类型的新实例
        /// </summary>
        protected DbContextInitializerBase()
        {
            DatabaseInitializer = new CreateDatabaseIfNotExists <TDbContext>();

            if (EnabledAutoMigrate)
            {
                DatabaseInitializer = new MigrateDatabaseToLatestVersion <TDbContext, AutoMigrationsConfiguration <TDbContext> >();
            }
        }
        public OracleDbContext()
            : base("name=OracleDbContext")
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion<OracleDbContext, Configuration>();
            //var migrationStrategy = new DropCreateDatabaseAlways<OracleDbContext>();

            Database.SetInitializer(migrationStrategy);
            Database.Initialize(false);
        }
Example #30
0
        public static void Main()
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion <BookShopContext, Configuration>();

            Database.SetInitializer(migrationStrategy);

            var context   = new BookShopContext();
            var bookCount = context.Books.Count();
        }
Example #31
0
 private void initDatabase()
 {
     using (DatabaseContext database = new DatabaseContext())
     {
         MigrateDatabaseToLatestVersion <DatabaseContext, Configuration> migrate = new MigrateDatabaseToLatestVersion <DatabaseContext, Configuration>();
         Database.SetInitializer <DatabaseContext>(migrate);
         migrate.InitializeDatabase(database);
     }
 }
Example #32
0
        static void Main()
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion<BookShopContext, Configuration>();

            Database.SetInitializer(migrationStrategy);

            var context = new BookShopContext();

            var bookCount = context.Books.Count(); //- to insialize the DB
        }
Example #33
0
 private static void Initialize()
 {
     var initializer = new MigrateDatabaseToLatestVersion<Context, DbConfig>();
     Database.SetInitializer(initializer);
     using (var context = new Context())
     {
         context.Database.Initialize(force: true);
         context.SaveChanges();
     }
 }
Example #34
0
        public void InitializeDatabase(TContext context)
        {
            var step1 = new DropCreateDatabaseAlways <TContext>();

            step1.InitializeDatabase(context);

            var step2 = new MigrateDatabaseToLatestVersion <TContext, TMigrationsConfiguration>();

            step2.InitializeDatabase(context);
        }
Example #35
0
        public static void Main(string[] args)
        {
            var strategy = new MigrateDatabaseToLatestVersion <BookShopContext, Configuration>();

            Database.SetInitializer(strategy);

            var context = new BookShopContext();

            Console.WriteLine(context.Authors.Count());
        }
Example #36
0
        static void Main(string[] args)
        {
            var initializer = new MigrateDatabaseToLatestVersion <ForumContext, Configuration>();

            Database.SetInitializer(initializer);

            var context = new ForumContext();

            context.Database.Initialize(true);
        }
        protected override void Init()
        {
            Database.SetInitializer<BralekDbContext>(null);

            // forcing the application of the migrations so the users table is modified before
            // the code below tries to create it.
            using (var context = new BralekDbContext("DefaultConnection"))
            {
                var migrations = new MigrateDatabaseToLatestVersion<BralekDbContext, Configuration>();
                migrations.InitializeDatabase(context);
            }
        }
Example #38
0
        /// <summary>
        /// Runs the migration
        /// </summary>
        /// <remarks>
        /// We can do this, or just run Update-Database in the IDE command line
        /// </remarks>
        /// <param name="args">Console arguments</param>
        static void Main(string[] args)
        {
            SetConnectionString(args);

            var databaseInitializer = new MigrateDatabaseToLatestVersion<EntityMigrateDatabaseContext, EntityMigrationConfiguration>();
            var databaseContext = new EntityMigrateDatabaseContext();

            databaseInitializer.InitializeDatabase(databaseContext);

            // Run any post migration work here (ex: installing SSIS packages, building matching database, etc)
            // --> databaseContext.Database.ExecuteSqlCommand()
        }
        public static void AssemblyInit(TestContext context)
        {
            const string connectionStringName = "ProductContext";

            CreateTestDatabase.TestDatabase.Create(connectionStringName);

            //optional - run Entity Framework migrations
            var migrate = new MigrateDatabaseToLatestVersion<ProductContext, Configuration>(connectionStringName);
            using (var dbContext = new ProductContext())
            {
                migrate.InitializeDatabase(dbContext);
            }
        }
        protected void Application_Start()
        {
            var migration = new MigrateDatabaseToLatestVersion<NewsSystemContext, Configuration>();
            Database.SetInitializer(migration);
            GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            this.ConfigureDependencyResolver(GlobalConfiguration.Configuration);
        }
        protected void Application_Start()
        {
            ApplicationDBContext db = new ApplicationDBContext();

            //Init the datbase, and apply any pending updates/changes
            //NOTE: Entity Framework MUST update the database BEFORE the following WebSecurity block.
            //  If Entity Framework does not find that database thet why it left it, then it gets testy
            try
            {
                var updateDBInit = new MigrateDatabaseToLatestVersion<ApplicationDBContext, Configuration>();
                updateDBInit.InitializeDatabase(db);
            }
            catch (Exception e)
            {
            }
            //Init Security
            //NOTE: Entity Framework MUST update the database BEFORE this WebSecurity block.
            //  If Entity Framework does not find that database thet why it left it, then it gets testy

            try
            {
                if (!WebSecurity.Initialized)
                {
                    WebSecurity.InitializeDatabaseConnection("ApplicationDBContext", "UserProfile", "UserId", "UserName",
                        autoCreateTables: true);
                }
            }
            catch (Exception e)
            {
            }

            AreaRegistration.RegisterAllAreas();
            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();

            //Init IoC(unity)
            Bootstrapper.Initialise();

            //Remove all but the Razor View Engine for some extra Perf
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new RazorViewEngine());

            //Load Tax Periods into globaly available static structure
            TaxPeriods.Load();
        }
Example #42
0
        static void Main()
        {
            var context=new BookShopContext();

            var migrationStrategy = new MigrateDatabaseToLatestVersion<BookShopContext,Configuration>();
            Database.SetInitializer(migrationStrategy);
            context.Database.Initialize(true);

              //  BooksAfter2000(context);

              //  AuthorsWithBookBefore1990(context);

              //  BookFromSpecificAuthor(context,"George Powell");

             //   TestBookRealtions(context);
        }
        public static void Main()
        {
            var migrationStrategy = new MigrateDatabaseToLatestVersion<StudentSystemContex, Configuration>();
            Database.SetInitializer(migrationStrategy);
            var contex = new StudentSystemContex();

            //ListAllStudents(contex);

            //ListAllCourses(contex);

            //ListCoursesByCount(contex);

            //ListAllCoursesFilteredByDate(contex);

            CheckStudetsAllCoursesPrice(contex);
        }
        public static void InitConfiguration()
        {
            lock (syncObj)
            {
                using (var temp = new DataContext())
                {
                    if (temp.Database.Exists()) return;

                    var migrationInitializer = new MigrateDatabaseToLatestVersion<DataContext, Migrations.Configuration>();                    
                    Database.SetInitializer(migrationInitializer);
                    temp.Database.Initialize(true);
                }

                DB.OpenSession();
            }
        }
        public DefaultDbConfiguration()
        {
            IDatabaseInitializer<DefaultDbContext> databaseInitializer;

            if (GlobalConfig.AutomaticMigrationsEnabled)
            {
                databaseInitializer = new MigrateDatabaseToLatestVersion<DefaultDbContext, Configuration>();
                SetContextFactory(typeof(DefaultDbContext), () =>
                {
                    var work = new HttpContextWrapper(HttpContext.Current).Request.RequestContext.GetWorkContext();
                    return work.Resolve<EntityFrameworkDbContextFactory>().Create();
                });
            }
            else
                databaseInitializer = new NullDatabaseInitializer<DefaultDbContext>();

            SetDatabaseInitializer(databaseInitializer);
        }
Example #46
0
        //public static readonly ICollection<Assembly> MapperAssemblies = new List<Assembly>();
        /// <summary>
        ///     设置数据库初始化,策略为自动迁移到最新版本
        /// </summary>
        public static void Initialize()
        {
            var context = new ChiakiYuDbContext();
            IDatabaseInitializer<ChiakiYuDbContext> initializer;
            if (!context.Database.Exists())
            {
                initializer = new CreateDatabaseIfNotExistsWithSeed();
            }
            else
            {
                initializer = new MigrateDatabaseToLatestVersion<ChiakiYuDbContext, Configuration>();
            }
            Database.SetInitializer(initializer);

            //EF预热,解决EF6第一次加载慢的问题
            var objectContext = ((IObjectContextAdapter) context).ObjectContext;
            var mappingItemCollection = (StorageMappingItemCollection) objectContext.ObjectStateManager
                .MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);
            mappingItemCollection.GenerateViews(new List<EdmSchemaError>());
            context.Dispose();
        }
 /// <summary>
 /// 设置数据库初始化,策略为自动迁移到最新版本
 /// </summary>
 public static void Initialize()
 {
     CodeFirstDbContext context = new CodeFirstDbContext();
     IDatabaseInitializer<CodeFirstDbContext> initializer;
     //if (!context.Database.Exists())
     //{
     //    initializer = new CreateDatabaseIfNotExistsWithSeed();
     //}
     //else
     //{
         initializer = new MigrateDatabaseToLatestVersion<CodeFirstDbContext, MigrationsConfiguration>();
     //}
     Database.SetInitializer(initializer);
     
     //EF预热,解决EF6第一次加载慢的问题
     ObjectContext objectContext = ((IObjectContextAdapter)context).ObjectContext;
     StorageMappingItemCollection mappingItemCollection = (StorageMappingItemCollection)objectContext.ObjectStateManager
         .MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);
     mappingItemCollection.GenerateViews(new List<EdmSchemaError>());
     context.Dispose();
 }
Example #48
0
        public static bool InitializeDatabase()
        {
            lock (syncObj)
            {
                using (var temp = new Context())
                {
                    if (temp.Database.Exists()) return true;

                    var initializer = new MigrateDatabaseToLatestVersion<Context, ContactManager.Data.Migrations.Configuration>();
                    Database.SetInitializer(initializer);
                    try
                    {
                        temp.Database.Initialize(true);
                        return true;
                    }
                    catch (Exception ex)
                    {
                        //Handle Error in some way
                        return false;
                    }
                }
            }
        }
 private static void MigrateUsingInitializer()
 {
     var initializer = new MigrateDatabaseToLatestVersion<GlobalDataContext, Configuration>("MigrationDemo");
     Database.SetInitializer<GlobalDataContext>(initializer);
     PrintSeededData();
 }
Example #50
0
 public EmployeeDbContext()
     : base("EmployeeDbContext")
 {
     var migrationStrategy = new MigrateDatabaseToLatestVersion<EmployeeDbContext, Configuration>();
     Database.SetInitializer(migrationStrategy);
 }
 public MoviesEntities()
     : base("MoviesEntities")
 {
     var migrationStrategy = new MigrateDatabaseToLatestVersion<MoviesEntities, Configuration>();
     Database.SetInitializer(migrationStrategy);
 }
        public SocialExperimentDbContext()
        {
            var databaseInitializer = new MigrateDatabaseToLatestVersion<SocialExperimentDbContext, SocialExperimentDbConfiguration>();

            Database.SetInitializer(databaseInitializer);
        }
        public static void Main()
        {
            var context = new BookShopContext();
            var migrationStrategy = new MigrateDatabaseToLatestVersion<BookShopContext, Configuration>();
            Database.SetInitializer(migrationStrategy);

            Console.Write("Do you want output for step 6 y/n: ");
            string wannaSix = Console.ReadLine();

            if (wannaSix == "y")
            {
                Console.Write("Please choise part from 1 to 5: ");
                string input = Console.ReadLine();
                switch (input)
                {
                    case "1":
                        var bookTitles = context.Books
                            .Where(b => b.ReleaseDate.Year > 2000)
                            .Select(b => new { b.Title });
                        foreach (var bookTitle in bookTitles)
                        {
                            Console.WriteLine(bookTitle.Title);
                        }

                        break;
                    case "2":
                        var authorsByBook = context.Authors
                            .Where(a => a.Books
                                .Any(b => b.ReleaseDate.Year < 1990))
                            .Select(a => new
                            {
                                FirstName = a.FirstName,
                                LastName = a.LastName
                            });
                        foreach (var author in authorsByBook)
                        {
                            Console.WriteLine("{0} {1}", author.FirstName, author.LastName);
                        }

                        break;
                    case "3":
                        var authors = context.Authors
                            .OrderByDescending(a => a.Books.Count)
                            .Select(a => new
                            {
                                FirstName = a.FirstName,
                                LastName = a.LastName,
                                BookCount = a.Books.Count
                            });
                        foreach (var author in authors)
                        {
                            Console.WriteLine("{0} {1} - {2}", author.FirstName, author.LastName, author.BookCount);
                        }

                        break;
                    case "4":
                        var georgesBooks = context.Books
                            .Where(b => b.Author.FirstName == "George" && b.Author.LastName == "Powell")
                            .OrderByDescending(b => b.ReleaseDate)
                            .ThenBy(b => b.Title)
                            .Select(b => new
                            {
                                Title = b.Title,
                                ReleaseDate = b.ReleaseDate,
                                Copies = b.Copies
                            });
                        foreach (var georgesBook in georgesBooks)
                        {
                            Console.WriteLine("{0} - {1} - {2}", georgesBook.Title, georgesBook.ReleaseDate, georgesBook.Copies);
                        }
                        break;
                    case "5":
                        var booksByCategories = context.Categories
                            .OrderBy(c => c.Books.Count)
                            .Select(c => new
                            {
                                Books = c.Books
                                            .OrderByDescending(b => b.ReleaseDate)
                                            .ThenBy(b => b.Title)
                                            .Take(3)
                                            .Select(b => new
                                            {
                                                BookTitle = b.Title,
                                                ReleaseDate = b.ReleaseDate
                                            }),
                                CategoryName = c.Name,
                                BookCount = c.Books.Count
                            });
                        foreach (var booksByCategory in booksByCategories)
                        {
                            Console.WriteLine("--{0}: {1} books", booksByCategory.CategoryName, booksByCategory.BookCount);
                            foreach (var book in booksByCategory.Books)
                            {
                                Console.WriteLine("{0} ({1})", book.BookTitle, book.ReleaseDate.Year);
                            }
                        }
                        break;
                    default:
                        Console.WriteLine("Incorect choise.");
                        break;
                }
            }
            else
            {
                var books = context.Books
                .Take(3)
                .ToList();
                if (books.Count == 0)
                {
                    books[0].RelatedBooks.Add(books[1]);
                    books[1].RelatedBooks.Add(books[0]);
                    books[0].RelatedBooks.Add(books[2]);
                    books[2].RelatedBooks.Add(books[0]);

                    context.SaveChanges();
                }

                var booksFromQuery = context.Books
                    .Take(3)
                    .Select(b => new
                                 {
                                     Title = b.Title,
                                     RelatedBooks = b.RelatedBooks.Select(rb => new { rb.Title })
                                 });

                foreach (var book in booksFromQuery)
                {
                    Console.WriteLine("--{0}", book.Title);
                    foreach (var relatedBook in book.RelatedBooks)
                    {
                        Console.WriteLine(relatedBook.Title);
                    }
                }
            }
        }
 public PhonebookEntities()
     : base("name=PhonebookEntities")
 {
     var migrationStrategy = new MigrateDatabaseToLatestVersion<PhonebookEntities, Configuration>();
     Database.SetInitializer(migrationStrategy);
 }
Example #55
0
 public Storage()
 {
     MigrateDatabaseToLatestVersion<StorageContext, Configuration> di = new MigrateDatabaseToLatestVersion<StorageContext, Configuration>();
     Database.SetInitializer(di);
 }
Example #56
0
 public UtrepauContext()
     : base("UtrepauContext")
 {
     var migrations = new MigrateDatabaseToLatestVersion<UtrepauContext, Configuration>();
     Database.SetInitializer(migrations);
 }
        /// <summary>
        /// 设置初始化策略
        /// </summary>
        public virtual void SetDatabaseInitializer()
        {

            var initializer = new MigrateDatabaseToLatestVersion<FzrainContext, Configuration>();
            //   var initializer = new DropCreateDatabaseIfModelChanges<FzrainContext>();
            Database.SetInitializer(initializer);


        }
 public StudentContext()
     : base("name=StudentContext")
 {
     var migrationStrategy = new MigrateDatabaseToLatestVersion<StudentContext, Configuration>();
     Database.SetInitializer(migrationStrategy);
 }
Example #59
0
 public void MigrateDatabaseToLatestVersion()
 {
     var initializer = new MigrateDatabaseToLatestVersion<MiamDbContext,Configuration>();
     Database.SetInitializer(initializer);
 }
Example #60
0
        static void Main(string[] args)
        {
            try
            {
                var migrate = new MigrateDatabaseToLatestVersion<DataContext, Configuration>();
                Database.SetInitializer(migrate);
                using (var db = new DataContext())
                {
                    Console.WriteLine("数据初始化完成:部门信息{0}条,角色信息{1}条,人员信息{2}条", db.Departments.Count(), db.Roles.Count(), db.Members.Count());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(new ExceptionMessage(e));
            }
        Reinput:
            try
            {
                Console.WriteLine("请输入:功能1-n,退出0");
                int input;
                if (!int.TryParse(Console.ReadLine(), out input))
                {
                    goto Reinput;
                }

                switch (input)
                {
                    case 0:
                        break;
                    case 1:
                        Method01();
                        goto Reinput;
                    case 2:
                        Method02();
                        goto Reinput;
                    case 3:
                        Method03();
                        goto Reinput;
                    case 4:
                        Method04();
                        goto Reinput;
                    case 5:
                        Method05();
                        goto Reinput;
                    case 6:
                        Method06();
                        goto Reinput;
                    case 7:
                        Method07();
                        goto Reinput;
                    case 8:
                        Method08();
                        goto Reinput;
                    case 9:
                        Method09();
                        goto Reinput;
                    default:
                        Console.WriteLine("编号{0}的功能不存在。\r\n", input);
                        goto Reinput;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(new ExceptionMessage(e));
                goto Reinput;
            }
        }