我已经阅读了Rick Strahl关于Linq to SQL DataContext Lifetime Management的文章,希望找到一些关于如何管理我的.dbml文件的答案,因为它们与DataContext密切相关.不幸的是,Rick的文章似乎主要关注运行时的DataContext生命周期,而我的问题是关于如何在设计时组织.dbml .
这里已经提出并回答了 ".dbml的最佳实践"的一般问题,答案主要集中在管理.dbml的外部工具上.
我想问一个更为集中的问题,即何时以及为什么在基于LINQ to SQL的项目中没有单个.dbml文件?
请注意,LINQ2SQL旨在以简单方便的方式处理与对象的数据库关系.
不要通过创建多个.dbml文件来破坏表关系和工作单元概念.
如果您需要创建多个.dbml文件(我不推荐),请尝试满足以下条件: -
如果创建多个数据库,这些数据库表之间没有关系.
如果您想使用其中一个.dbml来处理存储过程
如果你不关心工作单元的概念.
如果您的数据库太复杂,那么我会考虑ORM,如NHibernate,EF 4