【问题标题】:Can a project have two different EF data models that reference the same table?一个项目可以有两个不同的 EF 数据模型引用同一个表吗?
【发布时间】:2012-11-27 20:35:59
【问题描述】:

我的系统有一个主要的数据模型来执行大部分工作。

该模型有很多表,当我开始向应用程序添加管理功能时,我决定使用第二个单独的数据模型和 performance in mind。

在我的第二个数据模型需要访问也在主数据模型中的表之前,一切正常。现在,通过挖掘我可以看到this can cause problems。

我想出的两种可能的解决方法是:

  1. 将数据模型放在单独的项目中。
  2. 在需要时使用视图/存储过程来访问相关表。

方法 1 似乎最简单,但我担心是否会有任何性能损失。方法 2 看起来有点乱,没有使用 EF 的意义。

在我使用方法 1 之前,有没有更简单的解决方法可以使用?

【问题讨论】:

    标签: entity-framework entity-framework-4.1


    【解决方案1】:

    最后,我决定将这两个数据模型放入单独的项目中,并且我没有注意到任何放缓(我没有进行任何基准测试,但它通过了感知测试)。

    在她的一个在线教程中,EF 大师 Julie Lerman 说无论如何你都应该输入你的 data model in a separate project ,所以我认为这不是一个糟糕的解决方法。

    【讨论】:

    • 您的两个 EF 数据上下文都使用 sme 版本的程序集?
    • @RickerSilva - 我认为它们是同一个程序集中的两个不同项目,但这是 6 年前在一家我不再工作的公司,所以我记不清了。
    【解决方案2】:

    我在同一个项目中使用 2 个模型,因为我连接到 2 个不同的数据库。我在 *.tt 文件上使用“自定义工具命名空间”放置了不同的命名空间,但这不是必需的。它通常可以工作,但是当具有相同名称的实体(表)在两个模型中时,它无法处理。当您保存一个模型时,同名实体将从第二个模型中删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多