Impasse en utilisant linq to sql select

J'utilise linq to sql et exécute une instruction query-select SQL directe qui interroge une colonne XML en utilisant (XQuery). Plusieurs requêtes de ce type sont exécutées en parallèle et je reçois une exception de blocage.

Est-ce que select acquiert une sorte de verrou lors de l'exécution? Des mises à jour sont également effectuées en parallèle avec le niveau d'isolement Serializable.

Tous les pointeurs comment résoudre ce problème pourraient être utiles. Comment spécifier NOLOCK dans Linq To SQL?

Pourquoi obtenez-vous une impasse? SELECT seul ne peut pas se bloquer avec un autre SELECT. Il doit y avoir plus de passe. Capturez le graphique XML de l'impasse et affichez-le ici afin que nous puissions vous aider à l'parsingr. Une fois que nous avons la compréhension de l'impasse, nous pouvons reorder une solution, qui est presque toujours un index requirejs qui vous manque.

N'activez PAS les lectures incorrectes (astuces NOLOCK ou lisez le niveau d'isolement non-validé), ce n'est pas la bonne approche. Les lectures sales sont des lectures incohérentes et renvoient des données incorrectes . Si nécessaire, des lectures basées sur les versions de lignes peuvent être nécessaires, c'est ainsi que ce site a résolu ses problèmes.

Je l'ai vérifié sur le blog de Scott Hanselman . Un exemple pour l'essayer comme ça

ProductsNewViewData viewData = new ProductsNewViewData(); using (var t = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted })) { viewData.Suppliers = northwind.Suppliers.ToList(); viewData.Categories = northwind.Categories.ToList(); } 

J'espère que c'est utile pour vous. lire plus sur son blog.