【问题标题】:Sharing tables/models across LINQ database model跨 LINQ 数据库模型共享表/模型
【发布时间】:2009-04-14 20:22:51
【问题描述】:

我不确定所涉及的确切术语,所以请多多包涵。

我有一个 ASP.NET MVC 网站——我第一次使用它——我决定将数据库模型(换句话说,dbml 文件)分布在 2 个逻辑映射中。我认为它们是合乎逻辑的,直到我决定在两个 dbml 文件中都包含我的“标签”表。现在这会使生成代码复制一个“标签”类,因此不允许我编译。

解决这个问题的明显方法是摆脱我在 2 个模型中的逻辑拆分,只需将所有表及其关系打包成一个巨大的 dbml 文件。如果我找不到简单的解决方案,我会这样做。

有没有人能解决这个可能很常见的问题?这是从一个模型继承另一个模型以使各种模型/实体随处可用的简单案例吗?

提前致谢,莫

【问题讨论】:

  • 你能简单地给他们不同的命名空间吗?
  • 我不希望将它们放入单独的命名空间中,它也可以在一定程度上避免这个问题,因为代码生成器仍会在 2 个不同的位置为 Tag 表构建类和方法。这意味着我希望在部分 Tag 类中实现的任何自定义方法都必须复制。
  • 是的,有了“不想重复自定义方法”的要求,你就不走运了。进入一个单独的 DBML 文件。
  • 谢谢大家,我最终还是这样做了!我认为这是一种个人品味,我个人希望我的 LINQ 模型根据任务/行为进行拆分,例如一个 content.dbml 和一个 events.dbml 有一个共同的“标签”类共享,而不必求助于skullduggery。

标签: .net asp.net-mvc


【解决方案1】:

我想,从技术上讲,您可以为它们创建 2 个不同的 dbml 并从代码中删除重复项,但每次更改模型时都必须这样做。 会有点毛骨悚然。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2016-07-02
    • 2020-08-17
    • 2020-09-19
    • 2020-04-13
    • 2019-10-28
    相关资源
    最近更新 更多