EF4;将外键添加到模型中

时间:2010-11-22 12:06:05

标签: entity-framework entity-framework-4

我有一个相当大的Entity Framework 4模型(模型优先),目前所有关系都定义为关联,没有外键属性。

除了从头开始重新创建图表或手动添加每个图表之外,任何人都知道将FK属性添加到整个图表的方法吗?

我想一种方法是生成数据库,然后从数据库构建一个新模型,然后进行清理,除非有更好的建议?

我在想另一种方法是写一些东西来调整XML。

2 个答案:

答案 0 :(得分:0)

虽然编写一些代码来操作XML会实现你所需要的,除非你打算将来再次使用它(不太可能),我认为你最好在设计器中手动完成。话虽如此,如果你有时间这样做,你会发现它是学习实体框架DSL内部工作的绝佳方式。根据我的经验,一旦模式生效,你就会对模型进行更改时有用。

答案 1 :(得分:0)

以下是我采取的步骤:

  1. 为依赖实体添加正确类型的标量属性(例如“Product”中的“CategoryID”)
  2. 使用设计器中的Mapping窗口将该属性映射到数据库中的正确列。
  3. 编辑关联,您需要为关联添加参照约束。您可以通过属性窗口执行此操作。委托人将是您引用的实体(即“类别”),而受抚养人将是另一个(即“产品”)
  4. 这就是所需要的。当您“验证”该文件时,您将在EF中收到错误,抱怨现有的关联集映射。这是因为现在有两种策略用于该映射。您需要删除这个。我发现我能做到的唯一方法是打开xml文件。 VS将用波浪形突出该区域。只需删除该节点就可以了。