2017-01-16 1 views
0

Ich verwende SQLite in meiner Anwendung und meine Tabelle ist nach diesem EF-Modell definiert:MAX-Wert in Spalte abrufen: Der angegebene Typ-Member wird in LINQ to Entities nicht unterstützt.

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; 
    } 
} 

Die Eigenschaftsnamen genau Spalten der Datenbank übereinstimmen. Ich kann mit LINQ to Entity Datensätze mit demselben Modell abrufen. Allerdings, wenn ich diese Operation versuchen, schlägt es mit dem Fehler im Betreff angegeben:

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

Die Spalte in der Datenbank „Boardnumber“ genannt und ist vom Typ integer (SQLite) und ist nicht der PK.

Warum schlägt diese Operation fehl?

+0

Sehen Sie, welche Abfrage mit dem Profiler generiert wird und dann versuchen Sie, die gleiche Abfrage direkt für die sqllite db ausführen und sehen, ob es funktioniert. – CodingYoshi

+0

Haben Sie keinen Tippfehler? das negative Vorzeichen sollte durch ein Vorzeichen (=) ersetzt werden, richtig? – Sparrow

Antwort

Verwandte Themen