【问题标题】:Using LINQ to SQL with multiple databases将 LINQ to SQL 与多个数据库一起使用
【发布时间】:2010-05-07 09:10:19
【问题描述】:

我正在开发一个新项目并希望使用 LINQ to SQL 获取数据 访问但遇到了以下问题。

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

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

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

我正在寻找一种解决方案,可以让我查询所有三个 不需要 3 个 GetCustomerList 函数作为 Database1 的数据库 和 Database2 可以使用与相同结构相同的功能, 具有数据库 3 的覆盖功能以恢复额外的 字段。

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

提前致谢

斯图尔特·弗格森

【问题讨论】:

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

标签: linq-to-sql inheritance


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2011-02-20
    相关资源
    最近更新 更多