2012-08-28 4 views
0

Dans mon application, j'ai un client modèle avec ID de clé primaire int. (Modèle généré à partir de la base de données par metalsql)Autoincrement clé primaire

var c = new Client{Name = "jonny"}; 
myDbContext.Client.InsertOnSubmit(c); 

Ce code provoque une erreur quand j'ajoute le second client, car il s'avère que ce champ Id est pas incrémenté. Il prend juste la valeur par défaut de 0. Y at-il un moyen intelligent de faire fonctionner cet auto-incrément?

+2

Pouvez-vous pas définir le fi eld comme une identité de sorte que la base de données insère automatiquement l'identifiant? –

Répondre

2

Dans votre tableau actuel, votre ID de colonne n'est pas défini sur int est l'identité, vous devez donc le fournir.

var c = new Client{ID = 2,Name = "jonny"}; 
myDbContext.Client.InsertOnSubmit(c); 

Pour résoudre ce assurez-vous que votre table colonne ID est défini int est l'identité pour rendre votre code fonctionne

var c = new Client{Name = "jonny"}; 
myDbContext.Client.InsertOnSubmit(c); 

Voir ce lien:

Creating A Database In Microsoft Visual Studio 2010

meilleur Cordialement