Entity framework EF(在WPF中)首次使用时未创建数据库(CreateDatabaseIfNotExists不工作)

Entity framework EF(在WPF中)首次使用时未创建数据库(CreateDatabaseIfNotExists不工作),entity-framework,code-first,dbcontext,Entity Framework,Code First,Dbcontext,我的数据上下文 public RentalContext() : base(nameOrConnectionString: "RentalContext") { Database.SetInitializer<RentalContext>(new CreateDatabaseIfNotExists<RentalContext>()); } public

我的数据上下文

 public RentalContext()
            : base(nameOrConnectionString: "RentalContext")
        {
            Database.SetInitializer<RentalContext>(new CreateDatabaseIfNotExists<RentalContext>());
        }

        public DbSet<User> Users { get; set; }
        public DbSet<Company> Company { get; set; }
        public DbSet<Tool> Tools { get; set; }
        public DbSet<Transaction> Transactions { get; set; }
public-RentalContext()
:base(名称或连接字符串:“RentalContext”)
{
SetInitializer(新的CreateDatabaseIfNotExists());
}
公共数据库集用户{get;set;}
公共数据库集公司{get;set;}
公共数据库集工具{get;set;}
公共数据库集事务{get;set;}
在第一次使用时,不要创建数据库。 当我将代码更改为

 public RentalContext()
            : base(nameOrConnectionString: "RentalContext")
        {
          Database.SetInitializer<RentalContext>(new DropCreateDatabaseIfModelChanges<RentalContext>());  
        }

        public DbSet<User> Users { get; set; }
        public DbSet<Company> Company { get; set; }
        public DbSet<Tool> Tools { get; set; }
        public DbSet<Transaction> Transactions { get; set; }
        public void SaveChanges() => base.SaveChanges();
public-RentalContext()
:base(名称或连接字符串:“RentalContext”)
{
SetInitializer(新的DropCreateDatabaseIfModelChanges());
}
公共数据库集用户{get;set;}
公共数据库集公司{get;set;}
公共数据库集工具{get;set;}
公共数据库集事务{get;set;}
public void SaveChanges()=>base.SaveChanges();
数据库已创建。 但是,如果数据库不存在,我总是会创建数据库

我使用Unity容器,也许我在某个地方出错了

        {
            var context = new RentalContext();
            container.RegisterType<ICompanyRepository, CompanyRepository>();
            container.RegisterType<IToolRepository, ToolRepository>();
            container.RegisterType<ITransactionRepository, TransactionRepository>();
            container.RegisterType<IUserRepository, UserRepository>();
            container.RegisterType<IRentalContext, RentalContext>();

            container.RegisterType<MainWindow>(new InjectionConstructor(container, new TransactionRepository(context)));
            container.RegisterType<CompanyWindow>(new InjectionConstructor(container, new CompanyRepository(context)));
            container.RegisterType<CompaniesWindow>(new InjectionConstructor(container, new CompanyRepository(context)));
            container.RegisterType<UserWindow>(new InjectionConstructor(container, new UserRepository(context)));
            container.RegisterType<UsersWindow>(new InjectionConstructor(container, new UserRepository(context)));
            container.RegisterType<ToolWindow>(new InjectionConstructor(container, new ToolRepository(context)));
            container.RegisterType<ToolsWindow>(new InjectionConstructor(container, new ToolRepository(context)));
            container.RegisterType<ToolsForTransactionWindow>(new InjectionConstructor(container, new ToolRepository(context)));
            container.RegisterType<TransactionWindow>(new InjectionConstructor(container, new TransactionRepository(context)));
            container.RegisterType<StatisticWindow>(new InjectionConstructor(container, new TransactionRepository(context)));
        }
{
var context=new RentalContext();
container.RegisterType();
container.RegisterType();
container.RegisterType();
container.RegisterType();
container.RegisterType();
RegisterType(新注入构造函数(容器,新事务存储库(上下文));
RegisterType(newinjectionconstructor(container,newcompanyrepository(context));
RegisterType(newinjectionconstructor(container,newcompanyrepository(context));
RegisterType(新注入构造函数(容器,新用户存储库(上下文));
RegisterType(新注入构造函数(容器,新用户存储库(上下文));
RegisterType(新注入构造函数(容器,新工具库(上下文));
RegisterType(新注入构造函数(容器,新工具库(上下文));
RegisterType(新注入构造函数(容器,新工具库(上下文));
RegisterType(新注入构造函数(容器,新事务存储库(上下文));
RegisterType(新注入构造函数(容器,新事务存储库(上下文));
}