我正在尝试使用保存在不同服务器上的两个匹配数据库创建沙箱环境。我要尝试的是在两者之间传递数据,但仅当管理员给出“确定”时才传递数据。现在这背后的代码很好,我有一个解决方案,但是我正在努力做的是有两个数据类都引用不同的数据库,但是具有匹配的表?

当我尝试通过LINQ提取任何形式的数据时,我得到以下错误:该成员已被定义多次。

有什么方法可以具有匹配的数据类(但指向不同的服务器),而不必更改表名?

最佳答案

如果您的类与数据库模式之间的映射在两个数据库中完全相同,则您可能只有一组类,并且只需使用不同的连接字符串初始化两个数据上下文即可访问数据库。

这是使用LINQ to SQL的示例:

var leftConnString = "Data Source=LeftServer;Initial Catalog=MyDatabase";
var rightConnString = "Data Source=RightServer;Initial Catalog=MyDatabase";

using (var leftContext = new DataContext(leftConnString))
{
    using (var rightContext = new DataContext(rightConnString))
    {
        // Retrieve entities from 'leftContext'
        // and persist them in 'rightContext'
    }
}

10-06 12:23
查看更多