Dire que je donne les résultats suivants:Comment sélectionner une collection imbriquée dans une autre collection LINQ
(-> = 1 à plusieurs mises en œuvre comme une collection dans le code premier EF)
message -> UserMessage
message -> Accessoires
Quand j'appelle les éléments suivants:
var res = _ctx.DataContext.UserMessage.Where(x => x.UserId)
.Select(m => m.Message).ToList();
EDIT: Ajout de catégories:
public class Message
{
public int MessageId { get; set; }
public ICollection<Attachment> Attachments { get; set; }
[Required]
public string Text { get; set; }
}
public class Attachment
{
public int AttachmentId { get; set; }
public int MessageId { get; set; }
public virtual Message Message { get; set; }
public string FileServerPath { get; set; }
}
public class UserMessage
{
public int UserMessageId { get; set; }
[Required]
public int MessageId { get; set; }
public Message Message { get; set; }
[Required]
public int UserId { get; set; }
public User User { get; set; }
}
je me attends les res variable pour contenir toutes les pièces jointes, mais il est vide, même s'il y a des lignes. Qu'est-ce que je rate?
Je J'ai ajouté plus de classes pour que vous puissiez voir que ma structure est différente de la vôtre. C'est dans le contexte de code-first & EF d'où la duplication des Ids et des tables dans les classes pour représenter les relations et spécifier les FK. – jaffa
@jaffa: S'il vous plaît essayer mon code. Vos cours sont les mêmes que les miens en ce qui concerne les parties pertinentes. –
Je l'ai mis comme réponse mais j'ai fini par l'implanter légèrement différente. Mon 'aggregate aggregate' est maintenant la classe Parent, avec la méthode Include() utilisée sur la classe imbriquée qui à son tour contient la collection. – jaffa