Я использую SQLite в моем приложении, и моя таблица определена согласно этой модели EF:Получение значения MAX в столбце: указанный тип элемента не поддерживается в LINQ to Entities.
internal class Board
{
public string BoardID { get; set; }
public ushort BoardNumber { get; set; }
public string Content { get; set; }
public Board()
{
BoardID = string.Empty;
Content = string.Empty;
BoardNumber = 0;
}
}
Имена свойств совпадают точно столбцы базы данных. Я могу получить записи с той же моделью, используя LINQ to Entity. Однако, когда я пытаюсь эту операцию он терпит неудачу с ошибкой, указанной в теме:
using (var db = new Models.EF.MyDbContext())
{
int last - db.Boards.Max(n => n.BoardNumber);
}
Столбец в базе данных под названием «BoardNumber» и имеет тип Integer (SQLite) и НЕ PK.
Почему эта операция не работает?
Посмотрите, какой запрос сгенерирован с использованием профилировщика, а затем попробуйте выполнить тот же запрос непосредственно с sqllite db и посмотреть, работает ли он. – CodingYoshi
Разве у тебя нет опечатки? отрицательный знак должен быть заменен знаком присваивания (=), правильно? – Sparrow