在MVC中动态选择或创建新数据库

时间:2018-10-27 08:07:06

标签: c# asp.net-mvc-5

我创建了一个发票应用程序,希望用户在会议开始时选择财务年度。

这意味着当他们选择特定年份时,如果该年份不存在,则会为该年份创建一个新表(或整个新数据库),否则它将选择现有表。

我尝试使用'Session',但是在dbcontext类中它不起作用。

请提出正确而有效的方法来完成此任务。 预先感谢!

1 个答案:

答案 0 :(得分:0)

据我所知,EF中有一个CreateModel或CreateDatabase(如果不存在)选项

public class SchoolDBContext: DbContext 
{
    public SchoolDBContext(): base("SchoolDBConnectionString") 
    {
        Database.SetInitializer<SchoolDBContext>(new CreateDatabaseIfNotExists<SchoolDBContext>());

        //Database.SetInitializer<SchoolDBContext>(new DropCreateDatabaseIfModelChanges<SchoolDBContext>());
        //Database.SetInitializer<SchoolDBContext>(new DropCreateDatabaseAlways<SchoolDBContext>());
        //Database.SetInitializer<SchoolDBContext>(new SchoolDBInitializer());
    }

    public DbSet<Student> Students { get; set; }
    public DbSet<Standard> Standards { get; set; }
}

这也是链接 http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx