【问题标题】:Is it possible to have two Entity Models from two databases in one project?是否可以在一个项目中拥有来自两个数据库的两个实体模型?
【发布时间】:2013-08-22 13:00:45
【问题描述】:

我曾经有一个带有 WCF 服务的工作 edmx 模型。

然后我添加了另一个指向另一个连接的实体模型。

我将尝试简单解释一下 app.config 中发生了什么。

  • 仍然存在一个旧名称的连接字符串
  • 但现在它指向新的实体模型
  • 但初始目录甚至没有更新到新目录并指向旧目录

我确定这里有问题。而且我也找不到我可以从属性中更改/编辑它。

一个项目中是否可以有两个实体模型?如果是这样,那么在我的情况下会导致这种情况的原因是什么?

【问题讨论】:

  • 你能发布你的连接字符串吗?
  • 我认为如果你使用 CodeFirst 而不是 edmx 不会有任何问题,也有一些工具可以从这样的模型生成类。

标签: c# .net entity-framework entity-model


【解决方案1】:

前段时间我有一个similar problem,我在一个项目中有两个模型,起初效果很好。当我不得不在两个模型中引用同一个表时,我的问题就开始了,特别是生成的 POCO 位于同一个项目中。

最后,将两个 edmx 放在不同的项目中。 this tutorial 的 Julie Lerman 说这是一件非常好的事情。

【讨论】:

    【解决方案2】:

    是的,您可以在一个项目中拥有多个 .edmx 模型;您要做的是将每个 Model.tt 放在不同的项目中,然后将它们从 .edmx 模型所在的项目中删除。所以你有这样的东西:

    - com.DataAccessLayer
    - com.Entities.Model1
    - com.Entities.Model2

    如果要连接到不同的数据库,每个模型使用不同的连接字符串。

    在这里您可以找到如何将 Model.tt 与 Model.edmx 分开 http://nullablecode.com/2013/09/splitting-entity-framework-model-classes-separate-projects/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 2012-02-20
      • 1970-01-01
      相关资源
      最近更新 更多