繁体   English   中英

防止在实体框架的TPT继承中加载子类表行

[英]Prevent the loading of subclass table rows in TPT inheritance on Entity Framework

我的数据库中具有以下表层次结构,该表层次结构使用“按表类型”(TPT)继承模式映射到实体框架模型(数据库优先):

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM