我正在尝试使用在不同服务器上保存的两个匹配数据库来创建沙箱环境。我想要的是在两者之间传递数据,但只有当管理员给出“确定”时。现在这背后的编码很好,我有一个解决方案,我将如何实现这个,但我正在努力做的是有两个数据类引用不同的数据库,但有匹配的表?
当我尝试通过LINQ提取任何形式的数据时,我得到的错误是成员已被定义多次。
有没有办法让匹配的数据类(但指向不同的服务器),而不必更改表名?
答案 0 :(得分:4)
如果两个数据库中的类和数据库模式之间的映射完全相同,那么您可以只有一组类并简单地初始化两个数据上下文使用不同的连接字符串来访问数据库。
以下是使用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'
}
}