0
public virtual DbSet<DBVolumetricObject> Volumetrics { get; set; } //this make error
我有以下型號實體框架 - 國外關鍵部件是不是類型聲明的屬性
public abstract class DBVolumetricObject
{
public int Id { get; set; }
public int Design_Id { get; set; }
}
public class Material : DBVolumetricObject
{
public virtual MaterialDesign MaterialDesign { get; set; }
}
public class MaterialDesign : IDBDesign
{
...
public virtual List<Material> Materials { get; set; }
}
及配置:
public class MaterialConfiguration : EntityTypeConfiguration<Material>
{
public MaterialConfiguration()
{
Map(m => m.MapInheritedProperties());
HasRequired<MaterialDesign>(x => x.MaterialDesign)
.WithMany(x => x.Materials)
.HasForeignKey(x => x.Design_Id);
}
}
當我嘗試通過初始化數據庫包管理器控制檯中的update-database命令出現以下錯誤。
外鍵組件'Design_Id'不是 類型'Material'的聲明屬性。驗證它沒有被明確地從 模型中排除,並且它是一個有效的原始屬性。
爲什麼在不同的班級Design_Id和質感設計的屬性?你想用這種方式做什麼? –
2表格:根據此設計創建的一些設計和許多材質 – GLeBaTi
嘗試將Design_Id移動到Material或MaterialDesign到DBVolumetricObject。我不認爲你可以將FK和導航屬性分成基類和派生類。 –