.NET批量更新两种方式性能对比

发布时间 2023-12-29 14:21:01作者: YuSongLiu

数据库MySql,.NET7,ORM EF

使用新的批量更新:

public async Task UpdateManyAsync(string url,string data)
{
await _dbContext.TestDb
.Where(a=>a.Url != null && a.Url.Equals(url))
.ExecuteUpdateAsync(a => a.SetProperty(u => u.TestDate ,data));
return true;
}

public async Task<bool> UpdateManyAsync(string url,string data)
{
    await _testDbRepository.UpdateManyAsync(url,data);
    return true;
}

使用跟踪查询之后批量更新:

public async Task TestOldUpdateManyAsync(string url, string data)
{
var infos = await _testDbRepository.GetListAsync(url);
infos.ForEach(a=>a.TestDate=data);
await _testDbRepository.SaveChangeAsync();
return true;
}