我有以下对象实体模型:更新具有多对多关系的实体框架4模型,如何?
- 家
- 任务
- 任务类型
我有以下关系: 家< 1> ---- < >任务(一对多) 任务<> ---- < 1>任务类型(多对一)
现在,我想在House和TaskType之间添加多对多的关系,以设置哪些TaskType可用于房屋。
什么是正确的方式在Visual Studio 2010中执行此操作,而不会丢失数据库中的数据。
如果我在没有生成任何数据库的全新模型上执行此操作,它可以正常工作,但如果在第一次生成数据库后尝试添加它,我将全部松开我的数据,因为生成SQL会删除所有表。
如果我尝试在名为HouseTaskTypes的数据库中手动创建一个包含两列(House_Id和TaskType_Id)的表,并将外键指向House和TaskTypes,那么当我从数据库更新模型时,它看起来很奇怪。
我大概可以通过一些手动调整来实现它,但我想知道在现有的实体框架模型中添加多对多关联/关系的正确方法。
所有的想法都赞赏!
这就是我一直在尝试做的事情。我首先在两个栏目中添加了一个“中间”表格,其中一个用于House_id,另一个用于TaskType_id。这是在SQL Server(2008 R2 Express)中完成的。 然后,我尝试在Visual Studio中的实体模型设计器的“House”实体和“TaskType”实体之间添加多对多关联。问题是我收到错误“没有为以下的实体集/关联集指定映射”。 由于该表没有出现在“模型浏览器 - >存储 - >表/视图”部分,我无法映射到它。 – Sverker84 2011-05-20 08:25:16
@ Sverker84编辑我的答案 – 2011-05-20 20:09:14