Bonjour,
J'ai fait le mapping ( manuel ) de ma base de données, j'ai une première classe qui contient un Id ( incrémenté automatiquement), deux champs en string.
et une deuxième avec des champs numériques
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 [Table(Name = "Collaborator")] public class Collaborator { [Column(IsPrimaryKey = true, IsDbGenerated = true, UpdateCheck=UpdateCheck.Never,AutoSync=AutoSync.OnInsert)] public int Id { get; set; } [Column] public string Name { get; set; } [Column] public string Surname { get; set; } }
[Table(Name = "Activity")]
public class Activity
{
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //List of table's attributes: [Column(IsPrimaryKey = true, IsDbGenerated = true, UpdateCheck = UpdateCheck.Never, AutoSync = AutoSync.OnInsert)] public int Id { get; set; } //Activity Id ( will be generated and incremented automatically by the DB manager) public int Value { get; set; } //Value (Working rate) public DateTime Activity_Day { get; set; } //Date of activity public int Entry_Id { get; set; } //The FK entry related to the activity }
dans mon objets DAO j'ai deux methodes add
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
16
17
18
19
20
21
22
23
24
25 var matchedActivity = (from c in _db.GetTable<Activity>() where c.Id == entity.Id select c).SingleOrDefault(); if (matchedActivity == null) { Console.WriteLine("Début Rajout Activity"); Console.WriteLine(entity.Value); //We haven't found a match => Create new entry Table<Activity> ma_liste = _db.GetTable<Activity>(); ma_liste.InsertOnSubmit(entity); ma_liste.Context.SubmitChanges(); } else { //We found a Activity that matches! //=> Update its information matchedActivity.Activity_Day = entity.Activity_Day; matchedActivity.Entry_Id = entity.Entry_Id; matchedActivity.Value = entity.Value; Console.WriteLine("Mise à jour"); }
et Pareil pour les collaborateurs sauf que je remplace activity par Collaborator
J'arrive à rajouter des collaborateurs ( je crée un nouveau sans assigner un Id)
mais quand je tente de rajouter une activité je reçois l'erreur suivante au moment du submitChanges (voir pièces jointes)
Merci de votre aide précieuse!
Partager