0

J'ai une entité CallTrackerLog qui a beaucoup Clients qui ont un un-plusieurs Advices. Je suis en train de créer un HttpPost pour le advice:EF Core Accès Entité imbriquée-imbriquée

[HttpPost("{callTrackerId}/{clientId}/advice")] 
    public IActionResult CreateCTClientAdvice(int callTrackerId, int clientId, 
     [FromBody] CallTrackerClientAdvice newAdvice) 
    { 
     if (newAdvice == null) 
      return BadRequest(); 

     if (!ModelState.IsValid) 
      return BadRequest(ModelState); 

     var ctFromStore = _context.CallTrackers 
      .Include(log => log.CallTrackerClients) 
       .ThenInclude(log => log.CallTrackerClientAdvice) 
      .FirstOrDefault(ct => ct.CallTrackerId == callTrackerId); 

     var ctAdviceFromStore ctFromStore.CallTrackerClients.CallTrackerClientAdvice 
      .FirstOrDefault(c => c.CallTrackerClientId == clientId); 

     // ... add to db 

     return Ok(); 
    } 

Le problème est que je ne peux pas accéder au CallTrackerClientAdvice avec le .FirstOrDefault(ct => ct.CallTrackerClientId == clientId) - il me donne un soulignement rouge, même si je pensais que je l'a chargé ci-dessus.

L'erreur:

enter image description here

Pourquoi je ne peux pas accéder au CallTrackerClientAdvice?

Répondre

1

Je pense que ce que vous voulez est:

var ctAdviceFromStore = ctFromStore.CallTrackerClients 
     .FirstOrDefault(c => c.CallTrackerClientId == clientId)?.CallTrackerClientAdvice;