隐式包含查询中的所有相关数据

时间:2018-09-12 17:54:43

标签: c# entity-framework-core

我正在使用ef-core 2.1,我有一个通用的抽象基类,用于几种相似的实体类型。控制器继承此类,并使用通用约束调用受保护的方法,例如:

protected async Task<MyResult> GetBase<TEntity, TOut>(int? id)
    where TEntity : class, IFoo, IBar
    where TOut : class
{
    // Construct query.
    var query = id == null
        ? this.Context.Set<TEntity>()
        : this.Context.Set<TEntity>()
            .Where(p => p.Id == id);
    // ...
}

并非所有实体都共享相同的导航属性,因此仅扩展接口约束以使得对.Include()的多次调用将无效是不可能的。是否存在生成查询的方法,该查询自动包含所有相关数据而无需显式声明它们?

0 个答案:

没有答案