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

时间:2020-03-05 18:47:10  来源:igfitidea点击:

在LINQ to SQL .dbml最佳实践中,此问题已在一定程度上得到解决,但是我不确定如何添加到问题中。

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

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

解决方案

回答

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

回答

超过一定大小后,使用xml而不是dbml设计器可能会变得更加容易。

回答

利用命名空间设置。我们可以通过单击ORM的空白在属性中找到它。

这使我可以为一组业务规则设置一个Users表和一个User类,为另一组业务规则设置一个第二个(但同一个数据存储)Users表和一个User类。

或者,拆分库,这也应具有根据公司的命名约定更改命名空间的作用。我从来没有在需要访问每个表的企业应用程序上工作。

回答

我已经编写了一个实用程序来解决该问题,我需要一个快速的应用程序来让我们仅选择所需的数据库对象。就我而言,我经常需要一个复杂的视图,但是没有表格。

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

回答

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