[英]Fetch records from parent table only, using Entity Framework
無論您查詢ctx.Parents
還是ctx.Parents.OfType<Parent>()
,您總是要求 EF 獲取滿足條件的所有Parent
實體(在本例中為Id == 5
)。 EF 無法提前知道這將是子類型化還是非子類型化Parent
實體(它可以,如果Parent
不是抽象的),因此它始終必須執行完整查詢。
TPT 不是一個對查詢非常友好的模型。 我不會使用它(並盡可能避免繼承,就此而言)。
創建沒有任何屬性的新子類
[Table("EmptyChild")]
public class EmptyChild: Parent
{
}
現在選擇原始查詢:
public Parent GetParent(Guid id)
{
var parent = ctx.Database.SqlQuery<EmptyChild>("Select * from Parents where Id=@id", new SqlParameter("@id", id)).FirstOrDefault();
return parent as Parent ;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.