リストをループし、リスト内のすべての項目に対してストアドプロシージャを実行しようとしています。Entity Frameworkはループ内でストアドプロシージャを実行します
foreach(value in values) {
Context.Database
.ExecuteSqlCommand(
"sp_ProcedureName @value1, @value2, @value3",
new SqlParameter("@value1", value.value1.ToString()),
new SqlParameter("@value2", value.value2.ToString()),
new SqlParameter("@value3", value.value3.ToString()));
}
私は、次のエラーを取得しておいてください。
New transaction is not allowed because there are other threads running in the session.
私も非同期メソッドを使用しようとしました。しかし、それはうまくいかないようでした。私が紛失しているものがありますか?または、ループ内でストアドプロシージャを実行することはできませんか?
は他のスレッドと同じように、あなたのコンテキストで何かをしますか? –
[Entity Frameworkのループ内にストアドプロシージャを挿入する]の可能な複製(https://stackoverflow.com/questions/40984421/entity-framework-insert-stored-procedure-in-a-loop) –
@ArjunPrakashはい、ありますこのエラーがミスリーディングである記録されたインスタンス –