c# - ASP.NET MVC DB 首先创建动态 dbcontext

标签 c# asp.net asp.net-mvc entity-framework asp.net-mvc-4

我是 MVC 的新手,我已经使用数据库优先方法创建了两个 dbcontext(2016 年和 2017 年),我将根据年份参数访问它

在 web.config 中:

<add name="DB2016Context" connectionString="metadata=res://*/Models.Model2016.csdl|res://*/Models.Model2016.ssdl|res://*/Models.Model2016.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DBSource;initial catalog=DB2016;persist security info=True;user id=xx;password=xx;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
<add name="DB2017Context" connectionString="metadata=res://*/Models.Model2017.csdl|res://*/Models.Model2017.ssdl|res://*/Models.Model2017.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DBSource;initial catalog=DB2017;persist security info=True;user id=xx;password=xx;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我已经创建了模型 MyDbContext.cs

public DbMyContext(int year)
            : base("name=DB" + year + "Context") 
        { }

使用

    DbMyContext dbSelected = new DbMyContext(year);
    DbSet<Models.Tab1> tab1 = dbSelected.Set<Models.Tab1>();
            using (dbSelected)
            {
                var query = (from a in tab1 
                             where a.YEAR== year
                             orderby a.NAME
                             select new { a.ID, a.YEAR, a.NAME }).Distinct();

我的问题:每年都会创建一个新数据库,结构相同,我的应用程序应该动态创建一个 dbcontext 来连接到每个数据库,而无需我手动创建它。

如果我不够清楚,我深表歉意。 谢谢

最佳答案

考虑使用 Code First方法。您很快就会发现它方便多了。

关于c# - ASP.NET MVC DB 首先创建动态 dbcontext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46050080/

相关文章:

javascript - 使用 Javascript/Jquery 登录验证文本框/输入以及正确/错误的图像

c# - 一次显示 DataAnnotation 和 IValidatableObject 的所有验证错误

javascript - 如何设置最小列宽Column Resizing Js

c# - 如何在 C# 或 C++ 中使用条件语句检查/比较四个变量是否相同或不同

c# - 将颜色值 i 从 c# 传递到 aspx 样式类

c# - 如何通过单击事件隐藏或显示图像

c# - 使用 HTML Agility Pack 替换 HTML div InnerText 标签

javascript - 如何检测 iframe 内网格的点击?

c# - 检测 DEBUG、RELEASE 和我自己的模式 C#

c# - 在匿名方法中命名参数