管理LINQ to SQL .dbml模型的复杂性

时间:2008-09-03 17:46:50

标签: linq linq-to-sql

此问题在LINQ to SQL .dbml best practices的问题中得到了解决,但我不确定如何添加问题。

我们的一个应用程序使用LINQ to SQL,我们目前有一个.dbml文件用于整个数据库,这个文件变得难以管理。我们正在考虑将它重构为更多模块/功能特定的单独文件,但是一个问题是许多高级类必须在几个.dbml文件中重复,因为关联不能跨越。 dbml文件(据我所知),还有其他的部分类代码。

有没有人在解决这个问题,你会提出什么建议?

5 个答案:

答案 0 :(得分:2)

利用命名空间设置。您可以通过单击ORM的空白区域来获取属性。

这允许我为一组业务规则和第二个(但是相同的数据存储)Users表和另一组业务规则的User类具有Users表和User类。

或者,拆分库,这也应该会影响更改命名空间,具体取决于您公司的命名约定。我从未在企业应用程序上工作,我需要访问每个表。

答案 1 :(得分:1)

过了一定的大小,使用xml而不是dbml designer可能会更容易。

答案 2 :(得分:1)

我也写了一个工具!我的目的是使用c#编写对dbml文件的更改脚本,以便您可以重新运行它们而不会丢失更改。请参阅我的博客http://www.adverseconditionals.com 4详细信息

答案 3 :(得分:0)

我们用它来保存2个.dbml文件的方法。其中一个持有存储过程,所有生产数据库访问都通过此完成。另一个是在单元测试文件夹中,保存表及其关系,用于DB数据操作和查询单元测试。

答案 4 :(得分:0)

我已经编写了一个实用程序来解决这个问题,我需要一个快速的应用程序来让你只选择你需要的数据库对象。在我的情况下,我经常需要一个复杂的视图,但没有表格。

http://www.codeplex.com/SqlMetalInclude/