映射一对多

所以假设你有两个不同的实体,如下所示:

public class Person
{
   public int PersonId { get; set; }
   public string Name { get; set; }
}

public class Car
{
   public int CarId { get; set; }
   public string LicensePlate { get; set; }
}

public class MyDemoContext : DbContext
{
   public DbSet<Person> People { get; set; }
   public DbSet<Car> Cars { get; set; }
}

并且你想在它们之间建立一对多的关系,也就是说,一个人可以拥有零个,一个或多个汽车,并且一辆汽车完全属于一个人。每个关系都是双向的,所以如果一个人有车,那么该车就属于那个人。

要做到这一点,只需修改你的模型类:

public class Person
{
   public int PersonId { get; set; }
   public string Name { get; set; }
   public virtual ICollection<Car> Cars { get; set; } // don't forget to initialize (use HashSet)
}

public class Car
{
   public int CarId { get; set; }
   public string LicensePlate { get; set; }
   public int PersonId { get; set; }
   public virtual Person Person { get; set; }
}

就是这样:)你已经建立了自己的关系。在数据库中,当然用外键表示。