项目是否有两个不同的EF数据模型引用同一个表?

时间:2012-12-10 12:18:05

标签: entity-framework entity-framework-4.1

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

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

一切正常,直到我的第二个数据模型需要访问同样位于主数据模型中的表。现在,从挖掘中我可以看到this can cause problems

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

  1. 将数据模型放在不同的项目中。
  2. 在需要时使用视图/存储过程访问相关表格。
  3. 方法1似乎最简单,但我担心是否会有任何性能损失。方法2看起来有点混乱,并且没有使用EF。

    在我使用方法1之前,是否有更容易解决的问题?

2 个答案:

答案 0 :(得分:2)

最后,我决定将这两个数据模型分成不同的项目,而且我没有注意到任何减速(我没有做任何基准测试,但是它通过了感知测试)。

在她的一个在线教程中,EF大师Julie Lerman说你应该把你的data model in a separate project 放进去,所以我认为这不是一个糟糕的解决方法。

答案 1 :(得分:1)

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