gpt4 book ai didi

c# - Entity Framework : Count one collection and Include another?

转载 作者:行者123 更新时间:2023-11-30 18:43:37 25 4
gpt4 key购买 nike

我有一个带有 ChatRoom、ChatMessage 和 Participant 的 EF 模型。有一次我需要获取某个 ChatRoom,包括它的所有参与者,但只需要计算其中的消息数量。在我下面的代码中,Room-属性缺少它的参与者:

var res = context.Entities
.OfType<ChatRoom>()
.Include("Participants")
.Select(r => new
{
Room = r,
Messages = r.ChatMessages.Count()
})
.FirstOrDefault(c => c.Room.Id == id);

当这样做时它起作用了:

var res = context.Entities
.OfType<ChatRoom>()
.Include("Participants")
.FirstOrDefault(r => r.Id == id);

为什么在对新的匿名类型执行 Select 时包含语句丢失?

最佳答案

尝试将参与者包括在选择中:

var res = context.Entities
.OfType<ChatRoom>()
.Include("Participants") // I think this could be removed.
.Select(r => new
{
Room = r,
Messages = r.ChatMessages.Count(),
Participants = r.Participants
})
.FirstOrDefault(c => c.Room.Id == id);

关于c# - Entity Framework : Count one collection and Include another?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4176810/

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