gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:11:20 25 4
gpt4 key购买 nike

(我已经编辑了这个问题,所以它现在与原来的问题不同了。)

我有不同但相同的架构数据库。我在我的应用程序中使用 .edmx Entity Framework 模型对此模式建模

总而言之,相同的数据库架构存在于多个 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=MyServer\MySqlServer;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);

关于c# - 如何在我的 .edmx EF 模型中的多个相同模式数据库之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20498331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com