多對多自定義連線表
你可能希望重新命名連線表中的欄位以使其更友好。你可以使用常用的配置方法執行此操作(同樣,從哪個方面進行配置並不重要):
public class CarEntityTypeConfiguration : EntityTypeConfiguration<Car>
{
public CarEntityTypeConfiguration()
{
this.HasMany(c => c.Owners).WithMany(p => p.Cars)
.Map(m =>
{
m.MapLeftKey("OwnerId");
m.MapRightKey("CarId");
m.ToTable("PersonCars");
}
);
}
}
甚至很容易閱讀:這輛車有很多車主( HasMany()
),每個車主都有很多車( WithMany()
)。對映這個,以便將左鍵對映到 OwnerId( MapLeftKey()
),將右鍵對映到 CarId( MapRightKey()
),將整個對映對映 到表 PersonCars( ToTable()
)。這給了你完全相同的架構: