在一个应用程序中使用多个dbContext [英] use multiple dbContext in one application

查看:58
本文介绍了在一个应用程序中使用多个dbContext的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为ASP.NET MVC 5中的单个Web应用程序使用多个dbContext而苦苦挣扎.

I am struggling with using multiple dbContext with an single web application in ASP.NET MVC 5. I am following code First existing database design approach.

如果我要使用ADO.NET创建5个模型,我需要一些指导原则,例如,它将创建5个dbContext及其模型类.

i need guideline how to do that say in example if i am creating 5 models using ADO.NET, it will create 5 dbContext along with its model classes.

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

how it will change in web.config file?

非常感谢

 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; }
}

推荐答案

基本上,对于每个dbContext,您需要在web.config文件的 connectionStrings 部分中添加具有唯一名称的新连接字符串

basically for each dbContext you need to add a new connection string with unique name in the connectionStrings section in your web.config file

这是一个示例:

<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>

这篇关于在一个应用程序中使用多个dbContext的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆