gpt4 book ai didi

entity-framework - LINQ To Entities + Include + 匿名类型问题

转载 作者:行者123 更新时间:2023-12-03 23:32:50 24 4
gpt4 key购买 nike

考虑:

类(class)客户

类(class)项目

类票

类回复

客户有一个项目的子集合,项目有一个工单的子集合,工单有一个回复的子集合。

var data = ctx.Set<Ticket>().Include(p => p.Client).
Select(p => new { Ticket = p, LastReplyDate = p.Replies.Max(q => q.DateCreated)});

不起作用。以这种方式选择数据时,既不加载项目也不加载客户端。

我知道如何让它发挥作用。我的问题是为什么它不能像这样工作?

最佳答案

正如拉迪斯拉夫所说,Include仅当您选择 Ticket 时才有效实体直接。由于您将其他信息转换出去,Include被忽略。

这应该提供一个很好的解决方法:

var data = ctx.Set<Ticket>()
.Select(p => new
{
Ticket = p,
Clients = p.Client,
LastReplyDate = p.Replies.Max(q => q.DateCreated)
});

首先,每个Ticket 的客户端都可以直接从 Clients 访问。匿名类型的属性。此外,Entity Framework 应该足够聪明,能够识别出您已经提取了整个 Client每个收藏 Ticket ,所以打电话 .Ticket.Client也应该工作。

关于entity-framework - LINQ To Entities + Include + 匿名类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com