J'ai un modèle EF avec ChatRoom, ChatMessage et Participant. À un moment donné, j'ai besoin d'aller chercher un certain ChatRoom en incluant tous ses participants mais seulement avec un compte du nombre de messages dedans. Dans mon code ci-dessous, le Room
-property manque ses participants:Entity Framework: Compter une collection et inclure une autre?
var res = context.Entities
.OfType<ChatRoom>()
.Include("Participants")
.Select(r => new
{
Room = r,
Messages = r.ChatMessages.Count()
})
.FirstOrDefault(c => c.Room.Id == id);
Quand vous faites comme ça cela fonctionne:
var res = context.Entities
.OfType<ChatRoom>()
.Include("Participants")
.FirstOrDefault(r => r.Id == id);
Pourquoi la déclaration, y compris-perdu lorsque vous faites un Select
à une nouvelle type anonyme?