J'ai trois modèles dans le noyau .net 1.1 MVC.imbriqué inclut dans le noyau. NET 1.1
Communications
public class Communication { public Guid CommunicationId { get; set; } public string Subject { get; set; } public bool IsRead { get; set; } = false; public Guid UserId { get; set; } public Guid AssignedTo { get; set; } public DateTime CreatedAt { get; set; } = DateTime.Now; public DateTime UpdatedAt { get; set; } = DateTime.Now; public Nullable<DateTime> DeletedAt { get; set; } public virtual ICollection<Message> Messages {get; set;} }
Messages
public class Message { public Guid MessageId { get; set; } public Guid CommunicationId { get; set; } public Guid SenderId { get; set; } = new Guid(); public Guid ReceiverId { get; set; } = new Guid(); public string Body { get; set; } public DateTime CreatedAt { get; set; } = DateTime.Now; public DateTime UpdatedAt { get; set; } = DateTime.Now; public Nullable<DateTime> DeletedAt { get; set; } }
Utilisateurs
SenderID et ReceiverID dans le tableau des messages est UserID dans le tableau des utilisateurs. Relation entre les modèles: Communications has_many Messages. message belongs_to une communication message belongs_to un utilisateur via SenderID message blongs_to un utilisateur via ReceiverId
Voici mon contrôleur ressemble à:
_context.Communications.Include(c=> c.Messages)
Je veux générer un objet JSON comme ceci: {communicationId : 'xxx', messages [{messageId: 'xxx', expéditeur: {informations utilisateur va ici}, destinataire: {informations utilisateur va ici}}
Comment inclure un objet Utilisateur dans un objet Message?
Merci pour l'aide.
Salut Morgan. encore une question. Comment puis-je trouver toutes les communications pour un utilisateur donné? par exemple. Mon message a un senderId et ReceiverId. var communications = wait _context.Communications.Include (c => c.Messages) . Où (m => m.Messages.senderId == id || m.Messages.ReceiverId == id) .ToListAsync(); Ce n'est pas la bonne syntaxe. ce que ça devrait être? Merci –
Pourquoi n'utilisez-vous pas 'ThenInclude'? –
Je crois que ThenInclude n'est pas la bonne solution pour mon problème. Les messages sont une icollection. J'ai besoin d'un moyen d'interroger l'objet icollection –