1
我想通過Data Annotation創建Discriminator列。用流利的通過數據註釋創建Entity Framework TPH鑑別器列
modelBuilder.Entity<Book>()
.Map<StoryBook>(m => m.Requires("typetitle").HasValue("story"));
[Table("Book")]
public partial class Book
{
public long BookID { get; set; }
[StringLength(100)]
public string name { get; set; }
public int? page { get; set; }
}
映射無論如何,我需要有鑑別列值的選擇結果
如何在結果中看到鑑別器屬性值。即'context.Books.Find(2)' – Hamid
就像我說的,你不能。這不是一個暴露的財產。當繼承得到很好的使用時,你不需要知道你正在處理哪個子類型。這是多態性的一點。如果您確實需要在運行時知道類型,我的建議不是使用繼承,而是使用類型屬性並根據其值進行操作。但是這個討論超出了你的問題的範圍。 –
順便說一句,你可以通過'context.Books.OfType()'得到一個子類型的集合。 –