Что делает этот запрос непереводимым в EF Core 3.x? - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть простая модель и запрос:

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 Ответ

1 голос
/ 22 февраля 2020

Свойство Complete Item может быть помечено как внутреннее в вашем коде, вы можете изменить его на publi c, чтобы иметь возможность использовать его в запросах.

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

Также Дважды проверьте, где импорт, если он использует правильный метод LINQ.

...