Magazine Internet

Générer un Id numérique

Publié le 02 septembre 2008 par Jeremy.jeanson

Générer un Id numérique avec Linq pourrait sembler simple : "un petit coup de Max + 1 et le tour est joué"... Et bien non! Car quand une table est vide, la méthode Max fait un gros buzzzzzzz "marche pas".

Une bonne pratique consiste donc à compter les lignes existante et dans le cas où il n'y a pas de données initialiser l'Id à 1 :

Int32 Id = DataContext.Table.Count(c => c.Id != 0) > 0
	? DataContext.Table.Max(c => c.Id) + 1
	: 1;

Note : le c=> c.id != 0 sert juste à ne pas utiliser la méthode Count(*) de SQL et faire ainsi une petite optimisation (ok ce n'est pas énorme mais c'est toujours ça).


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte