(我已经编辑了这个问题,现在它与原来的问题不同了.)
我有不同但相同的架构数据库.我在我的应用程序中使用.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="data source=MyServer\MysqLServer;initial catalog=MyDatabase;user id=MyUser;password=MyPassword;MultipleActiveResultSets=True;App=EntityFramework"" 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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。