我已经阅读了 Rick Strahl 关于 Linq to SQL DataContext Lifetime Management 的文章,希望能找到一些关于如何管理我的 .dbml 文件的答案,因为它们与 DataContext 密切相关。不幸的是,Rick 的文章似乎集中在运行时的 DataContext 生存期,而我的问题是关于 .dbml 在设计时应该如何组织。

“.dbml 的最佳实践”的一般问题 has been asked and answered here 和答案都集中在管理 .dbml 的外部工具上。

我在问一个更集中的问题 何时以及为什么在基于 LINQ to SQL 的项目 中不应有单个 .dbml 文件?

最佳答案

请注意,LINQ2SQL 旨在以简单易行的方式处理数据库与对象的关系。

不要通过创建多个 .dbml 文件来破坏表关系和工作单元概念。

如果您需要创建多个 .dbml 文件(我不推荐),请尝试满足以下条件:-

  • 如果您创建多个数据库,而这些数据库表之间没有关系。
  • 如果您想使用这些 .dbml 之一来处理存储过程
  • 如果你不关心工作单元的概念。

  • 如果你的数据库太复杂,那我会考虑ORM比如NHibernate,EF 4

    关于每个项目的 LINQ to SQL : Multiple/Single . dbml?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/337763/

    10-13 02:58