Wählen Sie Max in Linq to Entities / Entity SQL mit Typkonvertierung aus

entity-framework linq max select type-conversion

Frage

Ich versuche, einige CRUD-Funktionen für eine ältere Datenbank zu erstellen und das Entity Framework als ORM-Tool zu verwenden. Eine Tabelle, "Sites", hat eine "Id" -Spalte des Guid-Typs, die von den Benutzern nie gesehen wird, und einen Integer-Typ "SiteId", den die Benutzer zum Identifizieren einer Site verwenden.

Aus gutem Grund, warum die numerische SiteId-Spalte vom Typ varchar (10) in der Datenbank ist, aber jede SiteId darin ist eine ganze Zahl und alle zukünftigen SiteIds werden auch ganze Zahlen sein.

Wie kann ich zum Generieren einer neuen, eindeutigen SiteId vom ganzzahligen Typ mithilfe von Entity SQL oder Linq to Enities effektiv ein "SELECT MAX (SiteId)" erstellen?

Mit anderen Worten, wie kann ich jeden Wert in einer Spalte von varchar (10) in ein int konvertieren und den Maximalwert aus dieser Menge auswählen?

Das sah vielversprechend aus, aber linq kann die Analyse nicht in eine "Ladenprozedur" umwandeln ...

int x = entities.Sites.Max(s => int.Parse(s.SiteId));

Beliebte Antwort

Das funktioniert...

String[] numbers = new String[] { "2", "34", "5", "23", "5", "1" };

var max = numbers.Max(x => Int32.Parse(x));


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum