Question

J'essaie de créer une fonctionnalité CRUD pour une base de données existante et d'utiliser Entity Framework en tant qu'outil ORM. Une table, "Sites", contient une colonne de type Guid "Id" qui n'est jamais vue par les utilisateurs et un type entier "SiteId" que les utilisateurs utilisent pour identifier un site.

Dieu sait pour quelle raison la colonne SiteId numérique est de type varchar (10) dans la base de données, mais chaque SiteId qu'il contient est un entier et tous les futurs SiteId seront également des entiers.

Dans le but de générer un nouveau type unique SiteId de type entier, comment puis-je faire ce qui est effectivement un 'SELECT MAX (SiteId)' utilisant Entity SQL ou Linq to Enities?

En d’autres termes, comment puis-je convertir chaque valeur d’une colonne de varchar (10) en un int et sélectionner la valeur maximale de cet ensemble ??

Cela semblait prometteur, mais linq ne peut pas convertir l’analyse en une & "procédure de stockage &"; ...

int x = entities.Sites.Max(s => int.Parse(s.SiteId));
Était-ce utile?

Autres conseils

Cela fonctionne ...

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

var max = numbers.Max(x => Int32.Parse(x));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top