1
public DbSet<Title> Titles { get; set; }
也
modelBuilder.Entity<Title>().Map(m =>
{
m.MapInheritedProperties();
m.ToTable("Titles");
});
但試圖訪問標題時,我得到「實體類型EntityBase不是當前小組模型的一部分XT「。在NuGet控制檯中運行Update-Database之後,我發現表格'標題'是根據預期在所有字段(id,titlename,createddate)的數據庫中創建的。如果可能,我不想在DbContext中添加EntityBase db集。請幫助我找到解決方案。
謝謝,但如果我包括EntityBase,我需要定義我不想在基類中做的關鍵字段。即使我將Id字段移動到EntityBase並嘗試更新數據庫,它也會拋出「類型'標題'無法按照定義進行映射,因爲它將繼承的屬性映射到使用實體分割或其他形式的繼承的類型中。可以選擇不同的繼承映射策略以便不映射繼承的屬性,或者更改層次結構中的所有類型以映射繼承的屬性並不使用分割。「 – Aryan
我也嘗試刪除EntityBase中的抽象修飾符,但沒有幫助。我的要求是在一些TPC,但大多數是從EntityBase繼承的TPT。這不可能嗎? – Aryan
按照我的建議刪除'MapInheritedProperties'語句是什麼?您的類可以從其他類繼承,但EF不需要知道這一點。 –