数据库中的表关系:
映射到EF中:
咦!不对呀!怎么就两张表呀?
对,做项目的时候,我也遇到了这样的情况,不管怎么更新,EF都是这样!
百思不得其解,问问度娘吧!
度娘说:
实际上,EF并不是没有去映射实体,为什么找不到呢?
是因为EF将映射的关系直接包含在子表中,所以关系表就没有映射的意义了。但是需要注意,满足EF自动映射到子表的条件是第三张关系表有且只有联合主键字段,并且都有相对应的主外键关系,否则无法映射到子表中,而是会映射成一个实体。
看了看EF中映射的实体,发现果然是度娘说的这样:
当我们遇到多对多的关系时,这第三张表是不可或缺的。但是,EF中没有这张表,又无法进行操作,怎么办呢?
解决办法一:
在第三张关系表中加一个字段(任意一个字段),可以加一个关系表的ID字段。这样第三张表就能够映射出来了。
解决办法二:
直接通过代码操作其中一张表来查询或修改关系表。
查询:
查询的时候,直接用 T_JTable.T_MTable 。如下:
添加和修改参考:http://blog.csdn.net/weizengxun/article/details/6954482