[英]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.