【问题标题】:EF Core Accessing Nested-nested EntityEF Core 访问嵌套嵌套实体
【发布时间】:2017-11-27 04:24:10
【问题描述】:

我有一个实体CallTrackerLog,它有许多Clients,其中有一个一对多Advices。我正在尝试 HttpPost 为advice 创建一个:

    [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 - 即使我认为我在上面加载了它,它也会给我一个红色下划线。

错误:

为什么我无法访问CallTrackerClientAdvice

【问题讨论】:

    标签: database entity-framework asp.net-core data-access-layer


    【解决方案1】:

    我怀疑你想要的是:

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

    【讨论】:

      猜你喜欢
      • 2019-09-07
      • 2021-06-04
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      • 2019-04-27
      • 2021-01-01
      • 1970-01-01
      相关资源
      最近更新 更多