此问题在LINQ to SQL .dbml best practices的问题中得到了解决,但我不确定如何添加问题。
我们的一个应用程序使用LINQ to SQL,我们目前有一个.dbml文件用于整个数据库,这个文件变得难以管理。我们正在考虑将它重构为更多模块/功能特定的单独文件,但是一个问题是许多高级类必须在几个.dbml文件中重复,因为关联不能跨越。 dbml文件(据我所知),还有其他的部分类代码。
有没有人在解决这个问题,你会提出什么建议?
答案 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)
我已经编写了一个实用程序来解决这个问题,我需要一个快速的应用程序来让你只选择你需要的数据库对象。在我的情况下,我经常需要一个复杂的视图,但没有表格。