1
我正在使用實體框架測試版8和代碼優先使用SQLite數據庫。實體框架中的表繼續層次結構7
我需要TPH繼承,但默認情況下它使用TPT繼承。
這裏是我的代碼的一部分:
public abstract partial class Amenity
{
[Key]
public int AmenityId { get; set; }
public string AmenityName { get; set; }
}
public class AmenityCountable : Amenity
{
public int AmenityMinValue { get; set; }
public int AmenityMaxValue { get; set; }
public string AmenityTypeName { get; set; }
}
public class AmenityOptionable : Amenity
{
public bool CanHaveMultipleValues { get; set; }
}
public class KMContext : DbContext
{
public virtual DbSet<Amenity> Amenities { get; set; }
public virtual DbSet<AmenityCountable> AmenityCountable { get; set; }
public virtual DbSet<AmenityOptionable> AmenityOptionable { get; set; }
}
如何修改它,以便它使用TPH繼承?
得到了與EF7沒有經驗,但在EF6我們的TPH映射使用ToTable。嘗試用[Table(「Amenity」)]屬性標記AmenityCountable和AmenityOptionable類。 – 3615
@ 3615我試過了,但是當使用Add-Migration時,我得到以下錯誤:「實體'AmenityCountable'的模式''中不能使用表'Amenity',因爲它正用於另一個實體。 –