2012-02-14 85 views
2

我正在尝试使用两个在不同服务器上保存的匹配数据库创建沙箱环境。我正在尝试的是传递数据,但只有当管理员给出'好'时。现在,这背后的编码是好​​的,我有我如何去实现这样的解决方案,但我很努力做的是有两个数据类都引用了不同的数据库,但与之相配的表?冲突的数据类型是否有任何解决方法?

当我试图把通过LINQ任何形式的数据,我得到了成员已经被定义一次以上的错误。

是否有具有匹配的数据类(但点到不同的服务器),而无需更改表名的方法吗?

+0

你是如何生成的数据类的?你可以在不同的命名空间中生成吗? – 2012-02-14 11:47:30

+0

数据类自动由LINQ生成?????你能进一步解释吗? – Callum 2012-02-14 11:58:22

+1

仅供参考,LINQ到SQL是LINQ自身独立的 - 你可以使用LINQ与任何旧的集合对象,而不仅仅是数据库。 – Blorgbeard 2012-02-14 12:00:24

回答

4

如果你的类和数据库架构之间的映射是正是跨越两个数据库一样,你可以有只是一组类,只是初始化两个数据上下文和不同的连接字符串访问数据库。

下面是使用LINQ到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' 
    } 
} 
+0

谢谢!工作过一种享受! – Callum 2012-02-14 14:36:15

+0

@Callum我很高兴我可以帮助:) – 2012-02-14 15:03:51