entity framework .core常用技巧
阿新 • • 發佈:2019-03-17
tor upd hsi core nta bsp cts ssi products
1、在使用ef做查詢時候,如果單單只是將結果數據用於展示不用後續更新操作,可以使用AsNoTracking可以提高查詢效率。
比如
return await _productRepository.Query().AsNoTracking().Where(x => ids.Contains(x.Id)).ToListAsync();
2、批量更新時候,如果更新的只是某幾個字段,不用全表所有字段更新。當然這裏批量更新使用的z.entityframework.core。
var products = _Repository.Query().Where(p => idList.Contains(p.Id)).Select(p => new{ p.Id, p.GroupName }) .ToList().Select(p => new Product { Id = p.Id, GroupName = p.GroupName }).ToList(); _Repository.BulkUpdate(products.ToArray(), options => { options.BatchSize = 100; options.ColumnInputExpression = c => new{ c.Id, c.GroupName }; })
entity framework .core常用技巧