Kor*_*yem 42 c# many-to-many entity-framework code-first
我似乎无法完成这项工作
class Member
{
public virtual IList<Member> Friends { get; set; }
[Key]
public int MemberId { get; set; }
public string Name{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试添加Mappings但是徒劳无功.有没有办法用CTP5这样做?
Mor*_*avi 61
按照惯例,Code First将单向关联作为一对多关联.因此,您需要使用流畅的API让Code First知道您希望拥有多对多的自引用关联:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Member>().HasMany(m => m.Friends).WithMany();
}
Run Code Online (Sandbox Code Playgroud)
注意:CTP5中存在一个已知错误,该错误不允许您在此方案中自定义连接表列名称.
Nil*_*ils 19
如果我是正确的,您可以使用以下代码影响多对多的表名:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Member>().HasMany(m => m.Friends).WithMany().Map(m =>
{
m.MapLeftKey("MemberId");
m.MapRightKey("FriendId");
m.ToTable("MembersFriends");
}
);
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
16954 次 |
| 最近记录: |