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

Linq Discussion :

Linq to Sql Mise à jour des Vues


Sujet :

Linq

  1. #1
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 67
    Par défaut Linq to Sql Mise à jour des Vues
    Bonjour,
    J'utilise depuis peu linq to sql et je trouve cela génial.

    Avec une seule table, je n'ai pas de difficulté, mais avec ue vue ou une jointure, je ne peux pas mettre à jour mes données, malgré la commande

    je n'ai pas de messages d'erreur.

    J'ai le même problème avec des procédures stockées.

    Avez-vous une piste, faut-il donner un statut particulier à la vue ?

    Merci d'avance.
    Muller Guy

  2. #2
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Par défaut
    Bonjour,

    Si tu dois faire une jointure, fais la dans ton programme, entre les objets, sinon c'est normal que tu ne puisses pas modifier les données d'une vue ou d'une jointure.

  3. #3
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Arreter d'utiliser linq to SQL qui est une technologie obsolète ?

    Entity Framework est sortie il y a maintenant 2 ans et c'est la technologie d'accès aux données mis en avant par Microsoft, qui évolue et évolura dans l'avenir ...

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    En réalité Linq To SQL était un avant projet de ce qu'est Entity Framework et tout particulièrement Linq To Entities.

    Le but était là de poser les fondations et fondements pour EF, et donc de proposer une première transition entre l'ancien modèle ADO.NET et celui basé sur EF.

    A priori je dirais qu'il est préférable de passer à Entity Framework pour diverses raisons, et pas uniquement parce que c'est la technologie mise en avant par microsoft.
    Regarde le code généré par les outils pour ton Linq To SQL. Tu y vois que les objets reflétés sont loin d'être propre... en effet, le code linq to sql ne respecte pas les règles de séparation des couches et des responsabilités et on trouve de la logique dans les objets métiers...
    Si tu tiens à faire une architecture totalement découplée ou chacun reste chez soit pour bien dissocier les responsabilité, Linq To SQL est clairement à proscrire.
    Ensuite effectivement, cette technologie n'évoluera plus, et n'a finalement été comme déjà dit auparavant qu'un passage rapide mais obligé pour changer un peu les mentalités.
    Ensuite viennent des raisons encore plus intéressantes, le mapping O/R est contrôlable parfaitement avec EF mais pas avec Linq To SQL...
    dans lqts une table = une classe... c'est une contrainte.
    dans EF tu fait ce que tu veux, on sais que certaines tables n'ont pas lieux d'être sous formes de classes, et tu peux dans EF ne pas les faire refléter directement comme des classes et ne les utiliser finalement que du côté SQL.

    En réalité, EF permet de s'abstenir de passer par un framework tiers genre NHibernate pour le mapping O/R. remarque on pouvait toujours s'en passer, certes, mais là c'est nettement plus flagrant.

    Sinon pour répondre à ta question, il est impossible en Linq To SQL de faire des changements et de les rendres persistants directement sur une vue/jointure. C'est encore une des limitations technique de LtS. Cela dit avant de s'enflammer, modifier le résultat d'une jointure avec LtE mène au même résultat, et c'est finalement assez logique.

Discussions similaires

  1. [Linq to SQL] Mise à jour multi-contexte
    Par CLemTB dans le forum Linq
    Réponses: 0
    Dernier message: 17/12/2009, 17h36
  2. Mise à jour des éléments d'une vue
    Par sovitec dans le forum Linq
    Réponses: 2
    Dernier message: 28/11/2009, 21h39
  3. [SQL2K][SQL]Mise à jour des objets de ma Base de donnée
    Par sir_ben dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 25/06/2009, 13h16
  4. [WCF/Linq To SQL] mise à jour
    Par matrix_ceg dans le forum C#
    Réponses: 5
    Dernier message: 20/02/2009, 15h33
  5. Réponses: 0
    Dernier message: 22/01/2009, 11h31

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