EF无法映射只包含联合主键字段的表

数据库中的表关系:

映射到EF中:

咦!不对呀!怎么就两张表呀?

对,做项目的时候,我也遇到了这样的情况,不管怎么更新,EF都是这样!

百思不得其解,问问度娘吧!

度娘说:

实际上,EF并不是没有去映射实体,为什么找不到呢?

是因为EF将映射的关系直接包含在子表中,所以关系表就没有映射的意义了。但是需要注意,满足EF自动映射到子表的条件是第三张关系表有且只有联合主键字段,并且都有相对应的主外键关系,否则无法映射到子表中,而是会映射成一个实体。


看了看EF中映射的实体,发现果然是度娘说的这样:

当我们遇到多对多的关系时,这第三张表是不可或缺的。但是,EF中没有这张表,又无法进行操作,怎么办呢?


解决办法一:

在第三张关系表中加一个字段(任意一个字段),可以加一个关系表的ID字段。这样第三张表就能够映射出来了。


解决办法二:

直接通过代码操作其中一张表来查询或修改关系表。

查询:

查询的时候,直接用 T_JTable.T_MTable 。如下:

添加和修改参考:http://blog.csdn.net/weizengxun/article/details/6954482

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值