C# EF核心3-简单';其中';查询抛出错误?

C# EF核心3-简单';其中';查询抛出错误?,c#,entity-framework-core,azure-functions,C#,Entity Framework Core,Azure Functions,我构建了一个查询数据库的小型HTTPAzure函数。我正在做一个这样的查询 var item = await DbContext.Items .Where(x => x.ItemId == itemId && x.IsActive) .ToListAsync(); 现在,当我这样做时,它会抛出一个错误: System.Private.CoreLib:执行函数测试时发生异

我构建了一个查询数据库的小型HTTPAzure函数。我正在做一个这样的查询

var item = await DbContext.Items
                          .Where(x => x.ItemId == itemId && x.IsActive)
                          .ToListAsync();
现在,当我这样做时,它会抛出一个错误:

System.Private.CoreLib:执行函数测试时发生异常。Microsoft.EntityFrameworkCore:LINQ表达式“DbSet” [2020-10-15T20:56:40.424]。其中(r=>r.ItemId==\uuuu ItemId\u0&&r.IsActive==True)无法转换。以可以翻译的形式重写查询,或者通过插入对AsEnumerable()、AsAsAsAsyncEnumerable()、ToList()或ToListSync()的调用显式切换到客户端计算。有关更多信息,请参阅

一旦我删除
&&
并使其查询单个属性,它就会工作。我看过其他帖子,他们得到了相同的错误消息,但他们在查询中使用了更复杂的操作。在这里,它很简单,我知道它可以做到,因为实体框架核心文档甚至使用了这样的示例。我还尝试在
IQueryable
上使用
toListSync()
FirstOrDefault()
FirstOrDefaultAsync()
也已尝试过这两种方法

这是我的DbContext

public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, int>
{
    #region DbSets 

    public DbSet<Item> Items { get; set; }

    #endregion

    #region Constructors

    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    #endregion
}

请显示您的实体和DbContext定义。更新了“我能说什么”中的问题。它应该会起作用。也许有些转换器会失败。我建议创建可复制的小样本,并将问题发布到EF核心存储库。您是否尝试将查询更改为以下格式<代码>DbContext.Items.Where(x=>x.ItemId==ItemId).Where(x=>x.IsActive==true).toListSync()-检查此项。请显示您的实体和DbContext定义。更新了“我能说什么”中的问题。它应该会起作用。也许有些转换器会失败。我建议创建可复制的小样本,并将问题发布到EF核心存储库。您是否尝试将查询更改为以下格式<代码>DbContext.Items.Where(x=>x.ItemId==ItemId).Where(x=>x.IsActive==true).toListSync()-查看此项。
public class Item
{
    #region Column Definitions

    [Key]
    public int Id { get; set; }

    public int ItemId { get; set; }

    public bool IsActive { get; set; }

    #endregion
}