Linq包括替代品 [英] Linq Includes Alternative

查看:42
本文介绍了Linq包括替代品的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我像这样从数据库中加载实体

I am a loading a entity from the database like so

    var profileEntity = await Context.Profiles
                                     .Include(x => x.MedicalRecords)
                                     .Include(x => x.DrugHistory)
                                     .Include(x => x.EmploymentStatus)
                                     .SingleOrDefaultAsync(x => x.Id == id);

一切正常,我只是想知道是否有更好的方法来包含其非泛型类型属性,而不是使用 Include方法,因为该特定实体具有很多我需要包含的属性

All is working fine, I was just wondering if there is a better way to include its non generic type properties rather using the Include method because this particular entity has a lot of properties I need to include

推荐答案

不可能自动急切地加载这些属性(

It is not possible to automatically eagerly load those properties (Mechanism for statically defining eager loading for navigation properties), but you can create a reusable extension method for this purpose:

public static IQueryable<Profile> IncludeAll(this IQueryable<Profile> query)
{
     return query.Include(x => x.MedicalRecords)
                 .Include(x => x.DrugHistory)
                 .Include(x => x.EmploymentStatus);
}

可以通过以下方式使用:

Which can be used in a following way:

var profileEntity = Context.Profiles.IncludeAll().SingleOrDefault(x => x.Id == id);

这篇关于Linq包括替代品的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆