加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在我的.edmx EF模型中切换多个相同的模式数据库?

发布时间:2020-12-16 01:58:57 所属栏目:百科 来源:网络整理
导读:(我已经编辑了这个问题,现在它与原来的问题不同了.) 我有不同但相同的架构数据库.我在我的应用程序中使用.edmx实体框架模型对此模式进行了建模 总而言之,生成在多个SQL Server上的相同数据库模式,并且能够在运行时更改我的.edmx模型的数据库连接,因此我可以
(我已经编辑了这个问题,现在它与原来的问题不同了.)

我有不同但相同的架构数据库.我在我的应用程序中使用.edmx实体框架模型对此模式进行了建模

总而言之,生成在多个SQL Server上的相同数据库模式,并且能够在运行时更改我的.edmx模型的数据库连接,因此我可以在访问这些不同的数据库之间切换.

现在我想在运行时在这些不同的数据库之间切换.优选地以简单的方式.我究竟是怎么做到的?

一步一步的教程或精确,所有包含,代码示例将不胜感激.

下面是我的连接字符串在Web.config中的外观示例:

<add name="MyModelEntities" connectionString="metadata=res://*/Dal.ToolA.ToolATestOne.csdl|res://*/Dal.ToolA.ToolATestOne.ssdl|res://*/Dal.ToolA.ToolATestOne.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MyServerMySqlServer;initial catalog=MyDatabase;user id=MyUser;password=MyPassword;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

解决方法

DbContext类有一个构造函数参数nameOrConnectionString.根据初始化DbContext的方式,您可以传递不同的连接字符串名称.例如,如果您将它们存储在国家/地区名称中,例如:

<connectionStrings>
  <add name="YourApplication_UK" connectionString="..."/>
  <add name="YourApplication_Norway" connectionString="..."/>
  <add name="YourApplication_Sweden" connectionString="..."/>
</connectionStrings>

然后从代码中,您可以构造适当的连接字符串名称:

string connectionStringName = "YourApplication_" + myApplicationLocation;
var dbContext = new DbContext(connectionStringName);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读