首页 新闻 会员 周边 捐助

EF 如何为多对多的关联表添加字段

0
悬赏园豆:50 [已解决问题] 解决于 2013-04-15 13:25

表A与表B是多对多的关系

在表A上添加映射:

this.HasMany(t => t.Bs)
.WithMany(t => t.As)
.Map(t =>
{
t.ToTable("AtoB");
t.MapLeftKey("AID");
t.MapRightKey("BID");
});

生成表AtoB

如何为AtoB添加字段,用于查询时区别数据。

VinLexn的主页 VinLexn | 初学一级 | 园豆:165
提问于:2013-03-25 11:10
< >
分享
最佳答案
0

使用两个一对多

VinLexn | 初学一级 |园豆:165 | 2013-03-27 10:47
其他回答(2)
0

使用code first的情况下,必须要显示的实现一个AtoB的类,才能实现

收获园豆:50
sinhbv | 园豆:2579 (老鸟四级) | 2013-03-25 11:13

我也是这样想的

是不是还需要为AtoB指定一个主键?单独创建一个ID做为主键?

支持(0) 反对(0) VinLexn | 园豆:165 (初学一级) | 2013-03-25 11:20

@Cloud.L: 

public class AtoB
{
public AtoB()
{
AID = 0;
BID = 0;
}

public int AID { get; set; }
public int BID { get; set; }

[ForeignKey("AID")]
public virtual A A{ get; set; }

[ForeignKey("BID")]
public virtual B B{ get; set; }

}

EF 提示不存在主键。

支持(0) 反对(0) VinLexn | 园豆:165 (初学一级) | 2013-03-25 11:22

@Cloud.L: 需要单独指定一个主键

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2013-03-25 11:37

@sinhbv: 

已定义具有架构“dbo”和表“AtoB”的 EntitySet“AB”。每个 EntitySet 所引用的架构和表都必须唯一。

这是什么原因?

支持(0) 反对(0) VinLexn | 园豆:165 (初学一级) | 2013-03-25 11:45

@Cloud.L: 是否移除了原有的外键关系?

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2013-03-28 10:40

@VinLexn: 你这个问题解决了吗

支持(0) 反对(0) 酱油荷 | 园豆:3 (初学一级) | 2016-08-22 17:29
0

AtoB 为什么要添加字段? 查询时区别数据是什么意思 ?

Qlin | 园豆:2403 (老鸟四级) | 2013-03-25 12:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册