[英]Prevent the loading of subclass table rows in TPT inheritance on Entity Framework
我的數據庫中具有以下表層次結構,該表層次結構使用“按表類型”(TPT)繼承模式映射到實體框架模型(數據庫優先):
EF模型中的映射很簡單: AssetContent
是基本抽象類,而其他2是具體子類。
AssetContent
表與另一個表進行多對多關系,為了保持畫面清晰,省略了該表。
我的問題是,我如何構建一個Linq-to-Entities查詢以使用Include()
加載相關的AssetContent
表,從而根本不加載2個“子表”? 這對於DatabaseAssetContent
表尤其重要,該表的BinaryContent
字段可能很大,並且與我要構建的查詢的發布者無關。 據我觀察,無論是否啟用延遲加載,Entity Framework都會自動加載表的整個層次結構,但是我對僅加載AssetContent
表中的行感興趣。
使用Linq-to-Entities(對於Entity Framework 6)是否可以進行這種查詢?
最終,我將AssetContent
表的字段( Id
除外)移到了另一個新表,稱為AssetContentWithMetadata
,該表與AssetContent
表具有1-1的關系。 這樣, AssetContent
表的確確實有點尷尬,只有一個字段(ID),但是現在我可以單獨加載元數據表,而不會給內容增加負擔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.