Aspnetboilerplate 存储库查询加载相关数据
microsoft文档使用如下示例演示:Aspnetboilerplate 存储库查询加载相关数据,aspnetboilerplate,Aspnetboilerplate,microsoft文档使用如下示例演示: var blogs = context.Blogs .Include(blog => blog.Posts) .ThenInclude(post => post.Author) .ThenInclude(author => author.Photo) .ToList(); 有没有一种方法可以通过以下方式实现: Abp.Application.Ser
var blogs = context.Blogs
.Include(blog => blog.Posts)
.ThenInclude(post => post.Author)
.ThenInclude(author => author.Photo)
.ToList();
有没有一种方法可以通过以下方式实现:
Abp.Application.Services.IRepository
我已经可以看到IQueryable GetAllIncluding
方法,但我需要的不仅仅是下一个层次。来自以下文章:
公共异步任务GetDetailAsync(EntityDto输入)
{
var@event=wait\u eventRepository
.GetAll()
.包括(e=>e.注册)
.ThenInclude(r=>r.User)
.Where(e=>e.Id==input.Id)
.FirstOrDefaultAsync();
// ...
}
在i假设
之后进行了抽象然后包括
,但发现这是不切实际的:
i假设
之后进行了抽象然后包括
,但发现这是不切实际的:
- 您也可以这样做:
公共异步任务GetDetailAsync(EntityDto输入)
{
var@event=wait\u eventRepository
.GetAllIncluding(e=>e.Registrations,e=>e.Registrations.User)
.FirstOrDefault(e=>e.Id==input.Id);
// ...
}
唯一的限制是,由于Intellisense中的错误,在包含集合后不能包含第二级:。您也可以这样做:
公共异步任务GetDetailAsync(EntityDto输入)
{
var@event=wait\u eventRepository
.GetAllIncluding(e=>e.Registrations,e=>e.Registrations.User)
.FirstOrDefault(e=>e.Id==input.Id);
// ...
}
唯一的限制是,由于Intellisense中的一个错误,在包含集合后不能包含第二级:。可能只有我一个人,但一开始我对“GetAll()”方法的实际名称有点困惑。我错误地认为它在那个时候返回了实际的实体。这只是一个想法——但我个人会发现“GetAllQuery”这个名字更明显。请不要将此视为严厉的批评-就我看待事物的方式:-)可能只有我一个人,但一开始我对“GetAll()”方法的实际名称有点困惑。我错误地认为它在那个时候返回了实际的实体。这只是一个想法——但我个人会发现“GetAllQuery”这个名字更明显。请不要把这看作是严厉的批评——这是我看待事物的方式:)“我已经可以看到IQueryable GetAllIncluding方法,但我需要比下一个级别更深入地获取信息。”我的示例获取的信息比下一个级别多(“e=>e.Registrations.User”),为什么这对您不好?这基本上与使用“包含”和“然后包含”是一样的,但是结合使用“GetAllIncluding…因为它没有给我在原始问题中已经说过的内容添加任何新的内容。别担心,这很好:-)好的。你问题的最后一句让我明白你知道“GetAllIncluding”“存在,但您认为它只能降低一个级别。”我已经可以看到IQueryable GetAllIncluding方法,但我需要更深入地降低一个级别。我的示例是降低一个级别以上(“e=>e.Registrations.User”),为什么这对您不好?这基本上与使用“包含”和“然后包含”是一样的,但是结合使用“GetAllIncluding…因为它没有给我在原始问题中已经说过的内容添加任何新的内容。别担心,这很好:-)好的。你问题的最后一句让我明白你知道“GetAllIncluding”“存在,但你认为它只能降低一级。