EF批量處理_終章

一、批量Update和Delete

  1. 向NuGet程序包中添加第三方類庫:EntityFramework.Extended
  2. 具體方法:https://github.com/loresoft/EntityFramework.Extended/wiki/Batch-Update-and-Delete
    備注:目前此方法沒有實現批量Insert。批量Insert的方法,如下所示。

二、批量Insert

批量Insert使用原生EF即可,舉例如下:

                AppDatabase.DoAction(dbContext =>
                {
                    // 批量Insert操作,設置此屬性為false即可解決性能底下的問題
                    dbContext.Configuration.AutoDetectChangesEnabled = false;

                    for (int i = 0; i < bedNoList.Count; i++)
                    {
                        EFModel.Machine machine = CreateMachine(bedNoList[i], true);
                        dbContext.Entry<EFModel.Machine>(machine).State = EntityState.Added;
                    }

                    CacheListener.DoBigJob(() =>
                    {
                        isSuccess = dbContext.SaveChanges() > 0;
                    });
                });
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容