我有以下类:我可以避免实体中的外键属性吗?
public class Bicycle
{
public int BicycleId { get; set; }
public DateTime YearOfManufacture { get; set; }
public int BicycleManufactuerId { get; set; }
public BicycleManufacturer BicycleManufacturer { get; set; }
}
public class BicycleManufacturer
{
public int BicycleManufacturerId { get; set; }
public string Description { get; set; }
}
每个Bicycle
必须有一个BicycleManufacturer
(1:1)。可能有一些BicycleManufacturer
与任何Bicycle
都没有关联。大部分将与多个Bicycle
实体关联。
我有以下流利的API代码来设置FK关系:
modelBuilder.Entity<Bicycle>()
.HasRequired(a => a.BicycleManufacturer)
.WithMany()
.HasForeignKey(u => u.BicycleManufactuerId);
这一切似乎很好地工作。但是,我真的想要从Bicycle
实体中删除BicycleManufacturerId
属性。它只是在那里建立FK关系。如果我删除此属性,是否有办法创建正确的FK关系?通过增加对对方作为一个集合的关系
modelBuilder.Entity<Bicycle>()
.HasRequired(a => a.BicycleManufacturer)
.WithMany()
.Map(m => m.MapKey("BicycleManufactuerId"));