我是MVC的新手,我用DB第一种方法创建了两个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="data source=DBSource;initial catalog=DB2016;persist security info=True;user id=xx;password=xx;multipleactiveresultsets=True;application name=EntityFramework"" 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="data source=DBSource;initial catalog=DB2017;persist security info=True;user id=xx;password=xx;multipleactiveresultsets=True;application name=EntityFramework"" 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连接到每个数据库,而不必手动创建它。
如果我不太清楚,我道歉。 感谢