私の質問は、私は、読み取りを実行したり、私のメソッドを非同期に行うためにTask.Run以内に書く場合、それはコードの通常のビットと同じように動作する、シンプルで、またはこのような行為を禁止EF内の何かがあるのでしょうか?例えばEntity Framework 6は通常Task.Run()ステートメント内で機能しますか?
:
await Task.Run(() =>
{
var data = _context.KittenLog.ToList();
}
私はこれを行うことはワームの缶を開けるだろうという不安感を持っていますが、私は2つを組み合わせることについてGoogleで何かを見つけることができません。
コードを実行して調べます。結局あなたはすでにそれを書いてきました。もちろん、最初にこれを行うのは正当な理由はありませんが、十分に簡単にできるかどうかはまだ分かります。 – Servy
すべてのコードは基本的に、データベースからのデータをスレッドプールスレッドに取得するクエリをプッシュすることです。また、EFクエリは任意のスレッドで発行される可能性がありますが、なぜこれは機能しませんか? – mm8
私はそれを実行する場合、それは動作すると確信しています。しかし、デッドロック・タイプの問題や挿入に問題がある可能性があります。基本的に私はそれがタスクセーフであるかどうか尋ねています。スレッドセーフであるかどうかは、何回かテストするだけで判断できません。タスクが同じであると思われます。 – NibblyPig