Bonjour,
Alors voila, débutant sur Linq, je suis fâce à un problème qui m'échappe un petit peu. Je souhaite faire un insert sur une BD Access via Linq to SQL, et cela sur une table qui qui possède plusieurs colonnes dont une qui est à la fois une Clé Primaire et un nombre unique généré automatiquement par la table.
Le mappage de ma table est donc par exemple celui ci :
Puis l'insertion Linq :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 [Table(Name = "Personne")] partial class Personne { [Column(IsPrimaryKey = true, IsDbGenerated = true)] public int ID_personne { get; set; } [Column] public string Nom { get; set; } [Column] public string Prenom { get; set; } [Column] public string Age { get; set; } [Column] public string Profession { get; set; } }
Et cela soulève donc l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 DataContext dataContext = connexion.getDataContext(); Table<Personne> tablePersonne = dataContext.GetTable<Personne>(); Personne pers = new Personne { Nom = textBox1.Text, Prenom = textBox2.Text, Age = textBox3.Text, Profession = comboBox1.Text }; tablePersonne.InsertOnSubmit(pers); dataContext.SubmitChanges();Je dois avouer que cela me laisse un petit peu perplexe étant donné qu'il ne s'agit pas de manipuler directement de requète sur une insertion Linq.Point-virgule absent à la fin de l'instruction SQL.
Dernière chose : tout cela, sachant que mon insert marche si je retire le paramètre "IsDbGenerated = true", et que je met en "dure" sur ma structure un ID valide. Mais à ce moment la, ça n'a plus d'intérêt.
Merci d'avance pour toute aide éventuelle.
Cordialement,
Guillaume.
Partager