IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

[EF][SQLite][C#] InsertOnSubmit ou SaveChanges?


Sujet :

Accès aux données

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Par défaut [EF][SQLite][C#] InsertOnSubmit ou SaveChanges?
    Bonjour,

    Je travaille avec linq to entities sur sqlite
    J'ai créé ma base (ado), que j'ai ensuite réimportée dans mon projet, et le modèle s'est bien créé directement et de façon correcte.

    Je rencontre cependant une incompréhension :

    Je dois entrer un nouvel enregistrement dans ma table "Client".

    En regardant les différents tutoriaux, j'ai voulu procéder comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      Client cl = new Client
                        {..... };
      Bdd.Client.InsertOnSubmit (cl);
      Bdd.SubmitChanges();
    Or la méthode "InsertOnSubmit", sensée remplacer la méthode "add" n'existe pas (pas affichée dans l'intellisense) sur l'objet Bdd.Client.

    Du reste, lorsque je trouve des extraits d'exemples, je vois que le type d'objet (ici : Client) est toujours sans s (logique), alors que la table (base.Clients) est toujours avec s (toujours aussi logique). Or, moi, si j'importe la base, le type est toujours orthographié de la même façon que le nom de la table (tous les deux avec ou sans "s" selon le nom donné à la table lors de sa création.

    La méthode "SubmitChanges" sur l'entity est également introuvable.

    Par contre, en examinant les méthodes disponibles, j'ai trouvé que ceci était accepté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      Client cl = new Client
                        {..... };
     
     Bdd.AddToClient(cl); 
     Bdd.SaveChanges();
    En fait, j'ai autant de "addto" que de table.
    Je ne trouve trace de ça nulle part dans les tutoriaux.

    Est-ce équivalant?
    Et surtout qu'est-ce que j'ai compris de travers?

    Merci d'avance
    Claude

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Bonjour ClaudeBg,

    Je pense que tu t'enmeles les pinceaux entre LinQ to SQL et LinQ to Entities.
    Quant tu fais références à BDD.Client, la propriété Client renvoie un ObjectQuery<Client> et son type ne contient pas de méthode InsertOnSubmit. Pour ajouter un objet, on utilise les méthodes AddTo#Nom de l'ensemble d'entité# du contexte.
    Ou sinon tu peux utiliser la méthode AddObject("Nom de l'ensemble d'entité",object)

    SubmitChanges n'existe pas non plus avec Entity Framework, son homologue est bien SaveChanges.

    J'ai écris un tutorial sur Entity Framework, cela devrait t'aiguiller.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Par défaut
    Bonjour,

    Je pense que tu t'enmeles les pinceaux entre LinQ to SQL et LinQ to Entities.
    Je me doutais que je mélangeais les concepts, il faut dire que lorsqu'on débarque ce n'est pas vraiment simple de séparer des extraits de code et des explications en fonction du contexte.

    Merci pour cet éclaircissement, j'avais utilisé les deux méthodes en question, et évidemment ça fonctionne.

    J'ai écris un tutorial sur Entity Framework, cela devrait t'aiguiller.
    Merci, je vais vérifier de suite si ce n'est pas un document que j'ai déjà lu (mais il faut dire que j'ai tellement lu de documents en peu de temps que j'ai sûrement loupé des trucs).

    Il faut dire qu'on m'a déjà bien aidé sur ce forum

    Claude

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. qui connait sqlite ?
    Par Emmanuel Lecoester dans le forum SQLite
    Réponses: 23
    Dernier message: 19/02/2010, 13h44
  2. [EF][SQLite][C#] InsertOnSubmit ou SaveChanges?
    Par ClaudeBg dans le forum Linq
    Réponses: 2
    Dernier message: 23/01/2009, 15h57
  3. [SQLite]éliminer un motif dans des champ TEXT
    Par Invité(e) dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/05/2005, 17h44
  4. base de données en sqlite
    Par Cyrillou dans le forum SQLite
    Réponses: 1
    Dernier message: 12/05/2005, 15h37
  5. debuter en SQLite
    Par venomelektro dans le forum SQLite
    Réponses: 4
    Dernier message: 08/12/2004, 19h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo