在实体框架中使用where子句

时间:2019-07-09 13:25:42

标签: asp.net-core

我正在尝试根据表层次关系进行过滤。但是在下面得到了错误。

我正在尝试根据c.Departments_Category_Registration.Category_Name == C中的变量C进行过滤

谁能建议,这是我的代码

var model = from r in _context.Departments_SubCategory_Registration.Include(c => c.Departments_Category_Registration.Category_Name == C)
                where r.IsEnabled == true

                select r;
    return View(model);

和错误消息
InvalidOperationException: Incorrect include argument: c => (c.Departments_Category_Registration.Category_Name == __C_0)

更新。我将代码更改为以下代码,没有错误,但没有结果

      [Route("/{C}")]
    public async Task<IActionResult> Product(String C)
    {

        return View(await _context.Departments_SubCategory_Registration.Include(c => c.Departments_Category_Registration)


        .Where (d => d.IsEnabled == true)

                     .Where(r => r.Departments_Category_Registration.Category_Name == C).ToListAsync());

1 个答案:

答案 0 :(得分:1)

您将条件传递给Include方法。应该只接受该属性。将其更改为.Include(c => c.Departments_Category_Registration),然后在Where子句下移动按名称匹配的条件。