SaveChanges
とSaveChangesAsync
の主な違いは何かを説明できますか?どこでSaveChangesAsync
を使用する必要がありますか? パフォーマンスはどのように変化しますか?SaveChangesとEntity FrameworkのSaveChangesAsync
Asyncronous機能:
private static async void AddStudent()
{
Student myStudent = new Student();
using (var context = new SchoolDBEntities())
{
context.Students.Add(myStudent);
await context.SaveChangesAsync();
}
}
Syncronous機能:事前に
private static void AddStudent()
{
Student myStudent = new Student();
using (var context = new SchoolDBEntities())
{
context.Students.Add(myStudent);
context.SaveChanges();
}
}
おかげ
私はここで2つの例を持っています!。
I/Oバインド操作は、file、socket、netpipeの読み書きのような多くの入出力呼び出しを実行します。これらの操作は遅く、ほとんどのCPUパワーを必要としません(当然イベントベースです)。逆に、CPUバインド操作、すなわち画像処理、メモリ内収集集計などの多くの計算を行うもの。 – UserControl
ありがとう、@UserControl –
savechanges中に100%CPU負荷があります。非同期/メモリの汚れたチェックにバインドされたCPUの多くを行う必要がある場合、助けを待つだろうか? –