c# ajout de la ligne de datatable qui a une auto incrémentée

J'ai un datatable, avec les colonnes A, B, C. je l'ai mis en colonne d'Une "identité" true à la propriété, mais je ne peux pas ajouter une ligne à la table maintenant.

Le code que j'essaie est-ce:

dsA.dtA row = dsA.dtA.NewdtARow();

row.B = 1;
row.C = 2;

dsA.dtA.Rows.Add(row);

Je suis NoNullAllowedException, mais je ne comprends pas pourquoi. La colonne A est PK. Si j'ai essayé de mettre en ligne.A = 5 (ou tout objet similaire) je vais vous obtenez une erreur lorsque j'essaie de mettre à jour la table en disant: "impossible d'insérer une valeur explicite pour l'identité de la colonne dans le tableau lorsque identity_insert est réglé sur off"

Comment puis-je résoudre ce problème? C'est frustrant.

J'ai déjà répondu, mais il serait grand, il vous permet de mettre un point d'arrêt sur la ligne de dts.les lignes.add(ligne) et check it out qui ne ligne.Une porte.
Vous voudrez peut-être vérifier si IDENTITY_INSERT est on ou OFF pour votre table.
ColumnModel.IsIdentity (EF) et DataColumn.AutoIncrement ADO (Datatable) sont deux choses différentes dans deux cadres différents. IsIdentity est à dire la base de données fournira la valeur. AutoIncrement, c'est dire l'objet datatable fournira la valeur.

OriginalL'auteur John Smith | 2014-05-01