我有两张表Human
和Pet
。并有表HumanToPet
。
如何在实体框架中做到这一点?
示例:
class Human
{
string Name;
virtual ICollection<Pet> Pets { get; set; }
}
更新我使用映射(流畅配置)
答案 0 :(得分:1)
public partial class Human
{
public Human()
{
Pets = new List<Pet>();
}
public int HumanID { get; set; }
public string Name{ get; set; }
public virtual ICollection<Pet> Pets { get; set; }
}
public partial class Pet
{
public Pet()
{
Owners= new List<Human>();
}
public int PetID { get; set; }
public string Name{ get; set; }
public virtual ICollection<Human> Owners { get; set; }
}
从这个结构中,EF将能够推断出这种关系。
编辑:Fluent API映射:
modelBuilder.Entity<Human>()
.HasMany(a => a.Pets)
.WithMany()
.Map(x =>
{
x.MapLeftKey("HumanID");
x.MapRightKey("PetID");
x.ToTable("HumanToPet");
});
答案 1 :(得分:0)
您需要在数据库中的这些表之间添加引用。 之后,在VS中生成的EF模型将会看到它。