2013-12-10 15 views
0

我很努力在ASP.NET MVC 5中使用多个dbContext和单个Web应用程序。我是下面的代码第一个现有的数据库设计方法。在一个应用程序中使用多个dbContext

我需要指南如何在示例中说如果我使用ADO.NET创建5个模型,它将创建5个dbContext及其模型类。

它将如何在web.config文件中更改?

非常感谢

public partial class DefaultContext : DbContext 
{ 
    public DefaultContext() 
     : base("name=DefaultContext") 
    { 
    } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     throw new UnintentionalCodeFirstException(); 
    } 

    public virtual DbSet<AspNetRole> AspNetRoles { get; set; } 
    public virtual DbSet<sys_Actions> sys_Actions { get; set; } 
    public virtual DbSet<sys_ActionsInRole> sys_ActionsInRole { get; set; } 
    public virtual DbSet<sys_Controllers> sys_Controllers { get; set; } 
    public virtual DbSet<sys_Functions> sys_Functions { get; set; } 
    public virtual DbSet<sys_FunctionsHierarchy> sys_FunctionsHierarchy { get; set; } 
} 

回答

1

基本上每个的DbContext您需要使用唯一的名称在connectionStrings部分添加了新的连接字符串中的web.config文件

这里有一个例子:

<connectionStrings> 
    <add name="dbContext1" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=dbServer;initial catalog=db1;integrated security = true;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    <add name="dbContext2" connectionString="metadata=res://*/Model2.csdl|res://*/Model2.ssdl|res://*/Model2.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=dbServer;initial catalog=db1;integrated security = true;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
</connectionStrings> 
+0

这是建议能够,为什么我说我想要模型分开根据他们的上下文,当你创建新的ADO.NET实体模型是创建新的dbContext? – toxic

+0

这里看看这个答案http://stackoverflow.com/a/11073501/158421 –

相关问题