是什么使该查询在EF Core 3.x中不可翻译?

时间:2020-02-22 18:55:50

标签: c# entity-framework .net-core ef-core-3.0

我有一个简单的模型和查询:

public class Item
{
    public String Name { get; set; }

    public Boolean Complete { get; set; }
}

List<Item> lstIncompleteItems = await context.Items.Where(currentItem => currentItem.Complete == false).ToListAsync();

这将导致“无法翻译”异常。我已经读过从EF Core 2.x到3.x的重大变化,但我认为关于此的某些事情未能在我的脑海中记录。只是想确切地了解如何以可翻译的格式编写查询。

是什么使上面的查询不可翻译,而下面的查询却很好?

List<Item> lstItems = await context.Items.Where(currentItem => currentItem.Name.Contains("something")).ToListAsync();

1 个答案:

答案 0 :(得分:1)

Complete的{​​{1}}属性在代码中可能被标记为内部属性,您可以将其更改为public以便在查询中使用它。

Item

如果使用正确的LINQ方法,请再次检查导入位置。