2017-01-16 8 views
0

私は自分のアプリケーションで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」という名前と、整数型(SQLiteの)であり、PKではありません。

なぜこの操作は失敗しますか?

+0

プロファイラを使用して生成されたクエリを確認し、sqllite dbに対して同じクエリを直接実行し、そのクエリが機能するかどうかを確認してください。 – CodingYoshi

+0

タイピングがありませんか?負の符号は代入(=)符号で置き換える必要があります。 – Sparrow

答えて

関連する問題