0

我有一个实体CallTrackerLog其中有许多Clients其中有一个很多Advices。我想HttpPost一个创造了adviceEF核心访问嵌套嵌套实体

[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(); 
    } 

的问题是,我无法与.FirstOrDefault(ct => ct.CallTrackerClientId == clientId)访问CallTrackerClientAdvice - 它给了我,即使我还以为我装它上面的红色下划线。

错误:

enter image description here

为什么我无法访问CallTrackerClientAdvice

回答

1

我怀疑你想要的是:

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