映射零或一对多
在前面的例子中,没有人就不能存在汽车。如果你想让这个人在汽车方面是可选的怎么办?嗯,这很容易,知道如何做一对多。只需将 Car
中的 PersonId
更改为可为空即可:
public class Car
{
public int CarId { get; set; }
public string LicensePlate { get; set; }
public int? PersonId { get; set; }
public virtual Person Person { get; set; }
}
然后使用 HasOptional()
(或 WithOptional()
,具体取决于你从哪 一方进行配置):
public class CarEntityTypeConfiguration : EntityTypeConfiguration<Car>
{
public CarEntityTypeConfiguration()
{
this.HasOptional(c => c.Owner).WithMany(p => p.Cars).HasForeignKey(c => c.OwnerId);
}
}