Nous utilisons des requêtes générées par Linq pour la récupération de données mais pour INSERT et UPDATE, nous n'autorisons pas le SQL généré, mais nous limitons à l'utilisation des procédures stockées.Linq2SQL utilisant Update StoredProcedure
J'ai connecté le comportement Mise à jour et insertion dans DBML aux procédures stockées. Les procédures sont appelées, les données sont insérées/mises à jour = toutes si elles sont bonnes, sauf dans le cas d'une concurrence optimiste.
Si un enregistrement a été modifié entre la récupération et la mise à jour, la mise à jour doit échouer.
Lorsque LINQ génère l'instruction de mise à jour lui-même, il jette un ChangeConflictException comme prévu, mais en utilisant la procédure stockée pas exception est levée.
Merci beaucoup pour toute aide à ce sujet!
Merci! Le concepteur DBML permet de mapper le comportement INSERT, UPDATE et DELETE aux procédures stockées. Et il permet également de mapper les valeurs d'origine aux paramètres de la procédure stockée de mise à jour. La seule pièce manquante est la vérification de rowcount et de lancer une exception ChangeConflictException. Tout est là mais le code généré dans Designer.cs ne lève pas l'exception. – PeterFromCologne