获取列中的 MAX 值:在 LINQ to 实体中不支持指定的类型成员



>我在我的应用程序中使用 SQLite,我的表是根据这个 EF 模型定义的:

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 实体获取具有相同模型的记录。但是,当我尝试此操作时,它会失败,并显示主题中所述的错误:

using (var db = new Models.EF.MyDbContext())
{
     int last - db.Boards.Max(n => n.BoardNumber);
}

数据库中的列名为"BoardNumber",类型为整数 (SQLite),而不是 PK。

为什么此操作失败?

这可能是因为您当前的类型是ushort,并且 LINQ to 实体不支持无符号整数和类型。

如果可行,您可能需要考虑使用其他类型,或者考虑实施另一种方法来读取与此处提到的类似的特定值。

最新更新