gpt4 book ai didi

database - Linq to Sql - 多个 .DBML 文件或一个 .DBML 文件

转载 作者:太空狗 更新时间:2023-10-30 01:39:05 31 4
gpt4 key购买 nike

我正在使用 ASP.NET 3.5 开发 Web 应用程序。该应用程序有数百个表。我在一次研讨会上被告知,我应该为整个应用程序使用一个 .DBML 文件,而不是使用多个 .DBML 文件(stackoverflow 中也有一篇帖子说了同样的话)。鉴于我有这么多表,使用一个 .DBML 文件是否有意义,或者我最好创建多个逻辑分组的 .DBML 文件?

例如,我正在考虑创建以下 .DBML 文件:

  • 客户
  • 供应商
  • 员工
  • 销售订单

我对使用多个 .DBML 文件的担忧之一是我将如何处理跨 .DBML 文件的更新。例如,如果我在输入新的销售订单时必须更新客户表中的字段。我将如何处理?我当然不想在 Customer 和 Sales Order .DBML 文件中包含客户表。我可以将操作包装在 TransactionScope 中吗?

我不知道以下内容是否对答案有任何影响,但我的计划是使用存储库模式和 POCO 类,以便对 .DBML 文件中的表定义的引用将在我的数据访问层本地.

谢谢

最佳答案

我不得不建议您为所有表使用ONE dbml 文件。

如果您正在尝试 join two tables from different data contexts ,它使您的代码更加复杂。可以通过 simulating cross context joins 来完成,但为什么要把自己置于那种境地。保持简单愚蠢。

此外,如果您决定使用 2 个或更多 dbml 文件,并且错误地将同一个表添加到多个数据上下文,那么您将得到一个 "This member is defined more than once” error。 .

关于database - Linq to Sql - 多个 .DBML 文件或一个 .DBML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318536/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com