2010-01-08 4 views
2

Vous vous demandez si quelqu'un d'autre a fait la plupart de ses mises à jour SQL en utilisant des procédures stockées sur Linq2Sql? J'aime Linq2Sql pour toutes les autres opérations, mais les mises à jour semblent être désagréables. Le SQL généré n'a pas l'air bien dans profiler avec toutes les colonnes de la clause Where, alors vous devez sélectionner l'objet actuel pour définir les champs de l'objet édité avant d'exécuter SubmitChanges().Mises à jour Linq2Sql

Je trouve juste d'écrire une ancienne procédure stockée mieux pour les mises à jour et en utilisant Linq2Sql pour le reste. Que diriez-vous de votre expérience?

Répondre

4

Vous n'avez pas besoin de toutes les colonnes de la clause Where si vous incluez une colonne Horodatage dans votre table et une clé primaire. Alors L2S utilisera ces deux colonnes seulement dans la clause Where.

J'ai construit une couche d'accès aux données à n niveaux en utilisant L2S pour une opération de fabrication, sans utiliser une seule procédure stockée. Cela peut être fait et peut être fait très bien.

Randy

+0

Intéressant Randy. Je suis assez nouveau à Linq2Sql, hérité d'une application qui utilisait le framework Codeplex Beerhouse. Je vais devoir regarder de plus près les tables. Ils ont des clés primaires mais devront vérifier l'horodatage. Quelque chose à jouer avec. –

0

J'ai eu un coup d'oeil à ce Update Attach Method de blog de Rick Strahls quand je tentais de travailler dehors. J'ai fini par utiliser NHibernate, ce qui n'est pas facile, mais c'est vraiment sympa une fois que vous avez fait quelques tutoriels. Et mettre à jour à Nhibernate est facile aussi. Et il prend en charge LINQ si vous utilisez Linq pour NHibernate