MVC4多个数据库

 亮铮铮安神_453 发布于 2023-02-13 11:28

我是MVC4框架的新手,并且一直致力于许可应用程序,该应用程序必须为不同的产品使用不同的数据库(每个数据库包含一个产品的少数表 - 所有这些都由专有许可工具生成).我的应用程序应能够支持各种产品上的CRUD功能,因此DbContext每个产品需要与不同型号相关的多个对象.

据我所知,每个这样的DbContext对象都需要Web.config文件中的连接字符串.我正在努力列出(Index.cshtml)各种产品的现有许可证,使用DropDownList控制,每当用户从DropDownList控件中选择不同的产品时,我需要连接到不同的数据库.

任何帮助将受到高度赞赏.谢谢.

1 个回答
  • 据我了解你的问题,核心问题是,当用户从DropDownList中选择不同的产品时,你正在努力连接到不同的数据库.如您所说,是的DbContext对象需要Web.config文件中的连接字符串.您可以在配置中指定多个连接字符串.
    您也可以将不同的连接字符串传递给DBContext构造函数.通常,您的DAL /数据访问层或存储库层将从Web.Config/App.config中提取适当的连接字符串,并将其传递给DBContext构造函数.在这里和这里看到类似的方法.

    更新:

    您不能与多个数据库共享相同的DbContext.每个数据库都需要多个DbContexts.

    其他 很少有这样做的,但如果您使用Repostory和单位工作模式,您可以像使用的方法这

    您将拥有的每个DbContext,您可以在上下文中与该数据库中的实体集相关联.像下面的东西

    public class ProductContext : DbContext
    {
        public ProductContext ()
            : base("connectionStringA")
        {
        }
    
        public DbSet<Product> Accounts { get; set; }
    }
    
    
    public class LicenceContext : DbContext
    {
        public LicenceContext ()
            : base("connectionStringB")
        {
        }
    
        public DbSet<Licence> Licenses{ get; set; }
    } 
    

    2023-02-13 11:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有