2009-07-25 7 views
1

J'ai une table avec 2 colonnes, ID et nom .J'ai défini 'YES' Identité pour la colonne ID. Je veux insérer des données dans la table avec LINQ. Je veux obtenir seulement la colonne de nom de l'utilisateur dans mon application, puis la colonne d'identification remplit automatiquement à la base de données et je ne peux pas donner les données que la colonne et remplir sans le donner .générer automatiquement dans LINQ à SQL

Que dois-je faire? J'écris en C# et travaille avec LINQ.

Répondre

5

Ainsi, votre champ de base de données est déjà une ID INTENTION - non?

Ensuite, dans votre concepteur LINQ to SQL, vous devez vous assurer que votre colonne est réglée sur:

  • généré automatiquement Valeur = TRUE
  • Auto-Sync = ON INSERT

Maintenant, si vous ajoutez une entrée à votre base de données, l'ID sera automatiquement mis à jour à partir de la valeur qui lui est assignée par la base de données:Après l'appel SubmitChanges, votre instance.ID doit maintenant contenir l'ID de la base de données.

0

Si vous avez utilisé le concepteur DBML, cela doit être configuré correctement.

L'identifiant sera renseigné après l'appel de SubmitChanges.

+0

Comment effectuer ce travail? c'est mon problème que je ne peux pas faire cela. –

0

Assurez-vous que votre table de base de données est configurée correctement et que votre ID est défini comme champ de clé primaire et incrément automatique. Régénérez votre DBML si vous en avez besoin en supprimant l'objet et en le rajoutant. Il devrait savoir que l'ID n'est pas nécessaire et l'auto le remplir une fois que l'insertion a réussi.