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="data source=MyServerMySqlServer;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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |