许多一对多

让我们继续讨论另一种情况,即每个人都可以拥有多辆汽车,每辆汽车都可以拥有多个车主(但同样,这种关系是双向的)。这是一种多对多的关系。最简单的方法是让 EF 使用约定来实现它的魔力。

只需像这样更改模型:

 public class Person
{
   public int PersonId { get; set; }
   public string Name { get; set; }
   public virtual ICollection<Car> Cars { get; set; }
}

public class Car
{
   public int CarId { get; set; }
   public string LicensePlate { get; set; }        
   public virtual ICollection<Person> Owners { get; set; }
}

架构:

几乎完美。如你所见,EF 认识到需要一个连接表,你可以在其中跟踪人车配对。