0

我有一个使用 LINQ to SQL 设置多个数据库的 ASP.NET 站点(通过更改其他/“辅助”服务器上的表的源)。如此处所见。

如何为此设置故障转移合作伙伴?我在连接字符串中设置了它,但是我必须用服务器名称对 Source 进行硬编码,所以这不起作用。

4

1 回答 1

0

我能找到/想出的最好方法是创建两个LINQ External Mappings。在启动时,我检查主服务器是否正在使用主映射运行。如果不是,我将连接设置为使用具有故障转移数据库的第二个 LINQ 映射:

var xmlPath = @"C:\myAppFailOver.map";
System.Data.Linq.Mapping.XmlMappingSource linqMapping = System.Data.Linq.Mapping.XmlMappingSource.FromReader(System.Xml.XmlReader.Create(xmlPath));
using (DataClassesDataContext db = new DataClassesDataContext(connString, linqMapping))
{
    //code
}
于 2012-09-26T15:15:45.127 回答