繁体   English   中英

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

[英]ASP.NET MVC DB First create dynamic dbcontext

我是MVC的新手,并且使用数据库优先方法创建了两个dbcontext(分别用于2016年和2017年),我将根据year参数访问此数据库

在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来连接到每个数据库,而无需手动进行创建。

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

考虑使用“代码优先”方法。 您很快就会发现它更加方便。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM