一、批量Update和Delete
- 向NuGet程序包中添加第三方類庫:EntityFramework.Extended
- 具體方法: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;
});
});