Les Snippets

Connexion

Générer un Id numérique pour DLinq

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 23/09/2008 13:57:45 et initié par jmenfous [Liste]
Vue : 2848
Catégorie(s) : Base de données
Langages dispo pour ce code :
- C# 3.x



Langage : C# 3.x
Date ajout : 23/09/2008
Posté par jmenfous [Liste]

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

Remarque :
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 :

Snippets en rapport avec : Dlinq