此例子在VS2010和SQL Server 2008 Express上可执行。
为EF多对多关系纠结了一段时间,甚至认为EF不支持,原来已经比较简单实现了。
首先创建3个表A、B、AInB,数据库库关系图如下:(注意AInB中AId和BId必须组成复合主键)
生成EF模型如下图,因为AInB没有额外数据字段所以变成了A、B表间多对多关联。
AId和BId均为uniqueidentifier,A、B表中数据关系如下:
AName BName
a1 b1
a2 b2
a2 b3
1)查询实现:
输出:
b2
b3
2)增加实现:
输出:
b1
b2
3)删除实现:
输出:
b1