1. 程式人生 > >entity framework .core常用技巧

entity framework .core常用技巧

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常用技巧