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

C# 防止在实体框架上的TPT继承中加载子类表行,c#,entity-framework,linq-to-entities,table-per-type,C#,Entity Framework,Linq To Entities,Table Per Type,我的数据库中有以下表层次结构,我使用每类型表(TPT)继承模式将其映射到实体框架模型(数据库优先): EF模型中的映射很简单:AssetContent是一个基本抽象类,而其他两个是具体的子类 AssetContent表与另一个表存在多对多关系,为了保持画面清晰,省略了该表 我的问题是,如何使用Include()构建Linq to Entities查询以加载相关的AssetContent表,从而根本不加载这两个“子表”?这对于DatabaseAssetContent表尤其重要,它的BinaryC

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

EF模型中的映射很简单:
AssetContent
是一个基本抽象类,而其他两个是具体的子类

AssetContent
表与另一个表存在多对多关系,为了保持画面清晰,省略了该表

我的问题是,如何使用
Include()
构建Linq to Entities查询以加载相关的
AssetContent
表,从而根本不加载这两个“子表”?这对于
DatabaseAssetContent
表尤其重要,它的
BinaryContent
字段可能非常大,并且与我要构建的查询的发布者无关。据我观察,无论是否启用延迟加载,Entity Framework都会自动加载表的整个层次结构,但我只对加载
AssetContent
表中的行感兴趣


使用Linq to Entities(对于实体框架6)可以进行这样的查询吗?

最终,我将
AssetContent
表的字段(除了
Id
)移动到另一个新表中,称为
AssetContentThmetadata
,该表与
AssetContentContent
表有1-1关系。通过这种方式,
AssetContent
表确实有点笨拙,只有一个字段(ID),但现在我可以单独加载元数据表,而不必为其增加内容负担