我正在使用实体框架与SQL Server。我有两个表之间的多对多关系。我已经创建了一个只有2个表的主键字段的连接表。在设计器中,2个表现在具有另一个导航属性,返回类型为Collection of X,其中X是另一个实体。到目前为止,所有事情都应该如此。该设置看起来正确。如何创建和更新与EF的多对多关系
Task TaskProducts Product
========== ============ =======
TaskID TaskID ProductID
Description ProductID Name
并不是每个任务都会有一个产品或产品与之相关联。当该任务没有关联产品时,我将什么分配给任务表的产品导航属性?
当我确实拥有产品实体时,是否会使用产品实体构建一个EntityCollection集合,并将其分配给Task实体上的Products导航属性?
在对Task实体的Products导航属性进行更新(添加,删除和更改)时,是否像处理其他集合一样使用它?有什么特别的事情要注意吗?
我会对在Entity Framework中处理多对多关系的任何帮助感兴趣。
编辑(11/17/2009)
有一件事我学到的是一个多对多的关系工作,连接表,连接表中的两个字段需要被标记作为主键;
虽然这个链接的文档没有专门处理多对多的关系,但是他们被提及并且信息是有用的。如何使用集合并且不关心管理连接表真的很不错。 – DaveB 2009-11-17 17:32:11