Bonjour a tous ,
SVP , y a t-il un moyen de faire ca en LinqtoEntities ?
merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE Employees WITH (ROWLOCK) SET Title='Test'
Bonjour a tous ,
SVP , y a t-il un moyen de faire ca en LinqtoEntities ?
merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE Employees WITH (ROWLOCK) SET Title='Test'
Bonjour,
Je suis dans le même cas de figure. Avez-vous trouvé une solution ?
Merci d'avance
Créez la procédure stockée correspondante et appelez là avec LINQ...
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
MCTS Database Development
MCTS Database Administration
Utiliser LINQ (SQL ou ENTITIES) est une catastrophe pour ce genre de requêtes: en effet vous seriez obligé de charger tout vos utilisateurs.... puis un à un modifier leur titre et enfin faire un submit changes qui fera autant d'UPDATE que d'utilisateurs...
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
MCTS Database Development
MCTS Database Administration
Tu n'est pas obliger de créer une procédure stockée et faire l'importation de cela :
tu peux passer par ça :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 context.ExecuteStoreQuery<Employee>("UPDATE Employees WITH (ROWLOCK) SET Title='Test'");
ou
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 context.ExecuteStoreQuery<Employee>("UPDATE Employees WITH (ROWLOCK) SET Title='Test'");
Bon je sais à l'avance que la création d'une procédure stockée est souhaitable mais des fois les DBA ne veulent pas qu'on leur donne des décisions comme :
Certains DBA considèrent cela comme un ordreJe veux que tu me fasses une procédure qui m'exécute ça et ça.
Le choix est dur à faire entre les deux en effettu peux passer par ça :
Code C# :
context.ExecuteStoreQuery<Employee>("UPDATE Employees WITH (ROWLOCK) SET Title='Test'");
ou
Code C# :
context.ExecuteStoreQuery<Employee>("UPDATE Employees WITH (ROWLOCK) SET Title='Test'");
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
MCTS Database Development
MCTS Database Administration
Nom de Dieu, ils'agit de la même requête
La deuxième devait être :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 context.ExecuteStoreQuery<Employee>("UPDATE Employees WITH (ROWLOCK) SET Title= @p0", new SqlParameter { ParameterName = "p0", Value = "Test" });
ça montre la possibilité d'utiliser les SqlParameter et se prémunir de l'injection SQL.
8 fois sur 10 il n'y a pas de DBA... c'est aussi le problème on est souvent à l'encontre de la solution idéale basée sur l'approche de base de données massives.
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
MCTS Database Development
MCTS Database Administration
bonjour a tous,
pour mon cas j'ai pas trouvé de solution sur Entity Framework et j'ai utilisé les procédures stockées
Excellent choix
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
MCTS Database Development
MCTS Database Administration
Cette solution ne garantissant pas le ROWLOCK, je suis parti sur le ALTER INDEX ALLOW PAGELOCKS=false. Cette solution fonctionne très bien !
Moi j'approuverais l'idée d'utiliser une procédure stockée mais je déconseillerais la pose des vérous directement sur les tables et les index. Il faut que tu passes par les transactions.
L'utilisation d'une procedure stockée est un best-practice et il doit toujours être recommandé quand l'occasion se présente.
vous avez raison certains DBA n'adorent pas qu'on leur donne des ordres mais il suffit de leur donnée l'impression que sans eux, vous êtes bloqués que vous les suppliez, avec des formule du genre pourrez-vous, s'il vous plaît ... ca devrait marcher.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager