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 l'auteur n'a pas encore renseigné son compte