Linq to sql 在多个数据库中使用LINQtoSQL

Linq to sql 在多个数据库中使用LINQtoSQL,linq-to-sql,inheritance,Linq To Sql,Inheritance,我正在做一个新项目,希望使用LINQ到SQL来处理数据 但是遇到了以下问题 我需要让我的应用程序访问3个数据库与类似,但不是 例如,相同的表结构 Database1和Database 2有一个名为tblCustomer的表,有2列 CustomerKey和CustomerName Database2有一个名为tblCustomer的表,其中有3列CustomerKey, CustomerName和CustomerPostCode 我正在寻找一个解决方案,将允许我查询所有三个 数据库不需要3个Ge

我正在做一个新项目,希望使用LINQ到SQL来处理数据 但是遇到了以下问题

我需要让我的应用程序访问3个数据库与类似,但不是 例如,相同的表结构

Database1和Database 2有一个名为tblCustomer的表,有2列 CustomerKey和CustomerName

Database2有一个名为tblCustomer的表,其中有3列CustomerKey, CustomerName和CustomerPostCode

我正在寻找一个解决方案,将允许我查询所有三个 数据库不需要3个GetCustomerList函数作为数据库1 数据库2可以使用与结构相同的功能, 具有数据库3的覆盖功能,以恢复额外的 场

有没有一种方法可以声明一个基本datacontext类来处理数据库 1和2具有数据库3的继承版本

提前谢谢


斯图尔特·弗格森(Stuart Ferguson)

我认为可以有三个稍微不同的表定义(在三个数据库中),只有一个实体/域对象。为此,需要使用POCO实体(因此在L2S对象上没有修饰属性),并为
DataContext
提供包含数据库定义的映射源。在这种情况下,您将需要三个独立的数据库连接,每个连接都有自己的
DataContext
,并有自己的映射


虽然这可能有效,但此解决方案可能很脆弱。也许您最好让这些不同的客户对象实现相同的接口,或者使用一个(非LINQ到SQL相关的)对象(代理)来表示所有这些对象。

我认为有可能有三个稍微不同的表定义(在三个数据库中),一个实体/域对象。为此,需要使用POCO实体(因此在L2S对象上没有修饰属性),并为
DataContext
提供包含数据库定义的映射源。在这种情况下,您将需要三个独立的数据库连接,每个连接都有自己的
DataContext
,并有自己的映射


虽然这可能有效,但此解决方案可能很脆弱。也许您最好让这些不同的客户对象实现相同的接口,或者使用能够表示所有客户对象的(非LINQ到SQL相关)对象(代理)。

别忘了标记您最喜欢的答案;-)别忘了标记你最喜欢的答案;-)