【问题标题】:Managing LINQ to SQL .dbml model complexity管理 LINQ to SQL .dbml 模型复杂性
【发布时间】:2008-09-03 17:46:50
【问题描述】:

这个问题在LINQ to SQL .dbml best practices 的这个问题中得到了一定程度的解决,但我不知道如何添加到问题中。

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

有人解决过这个问题吗?您会提出什么建议?

【问题讨论】:

    标签: linq linq-to-sql


    【解决方案1】:

    利用命名空间设置。您可以通过单击 ORM 的空白区域在属性中访问它。

    这允许我为一组业务规则创建一个用户表和一个用户类,为另一组业务规则创建第二个(但相同的数据存储)用户表和一个用户类。

    或者,分解库,这也应该具有根据您公司的命名约定更改命名空间的效果。我从未开发过需要访问每个表的企业应用程序。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 干杯。原来我不能拼写自己的博客地址!
        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-23
            相关资源
            最近更新 更多