我正在编写一个asp.net应用程序,我想知道如何使用linq连接和查询2个不同的数据库。 2个数据库具有相同的表,相同的行和相同的相同。只有数据库名称和数据不同。我知道linq类映射并用它创建表和行只有一个db。如果我更改连接字符串其他相同的数据库。这有可能吗?如果有人尝试这个并得到任何问题?我如何在运行时更改连接字符串?我的意思是我可以使用组合框或类似的东西,但我是否必须添加appsettings来添加连接字符串以查找或者我是否需要更改linq映射类以达到dbs?我很迷茫。我需要你的帮助。
答案 0 :(得分:2)
使用Entity Framework时,在实例化DataContext时,会得到一个构造函数,该构造函数接受包含连接字符串的sqlConnection对象。类似的东西(我不知道确切的语法和类名):
SqlConnection sqlcon = SqlConnection(YourConnectionString); DataContext db = DataContext(sqlcon);
在LINQ中,我确实认为它也有一个。您可以使用不同的连接字符串在Web.Config中存储键值对,并在代码中弄清楚如何从一个连接切换到另一个连接。
答案 1 :(得分:2)
将LINQ-to-SQL或Entity Framework(以使用LINQ-to-Entities)设置为其中一个数据库。在运行时,您可以使用DataContext / DbContext构造函数重载,该重载采用特定的连接字符串来决定要使用的数据库。