EF扩展库(批量操作--删除、更新等)
来源:互联网 发布:一洋淘宝工具箱 编辑:程序博客网 时间:2024/06/02 06:36
EF删除和修改数据只能先从数据库取出,然后再进行删除
delete from Table1 where Id>5;
update Table1 set Age=10;
我们需要这样操作
//删除var t1 = context.Table1.Where(t => t.Id > 5).ToList();foreach(var t in t1){ context.Table1.Remove(t);}context.SaveChange();//更新var t1 = context.Table1.ToList();foreach(var t in t1){ t.Age = 10;}context.SaveChange();
在github中提供了一个EF扩展库,支持批量操作,不用先查询出来,然后逐个删除
https://github.com/loresoft/EntityFramework.Extended
在VS可以直接通过NuGet安装(因为我EF是5.0的,所以加上版本号,现在出到6了)
PM> Install-Package EntityFramework.Extended -Version 5.0.0.73
安装完成后
//删除context.Table1.Delete(u => u.Id > 5);context.SaveChange();//更新context.Table1.Update(u => u.Id > 5, u => new Table1 { Age = 10 });context.SaveChange();
扩展库还支持批量查询功能
例如:在分页查询的时候,需要查询结果数,和结果集
EF做法:
var q = container.Users.Where(u => u.Name.StartsWith("a"));//查询2次var count = q.Count();var data = q.Skip(10).Take(10).ToList();
EF扩展库的做法
var q = context.Table1.Where(t => t.Name.StartsWith("a"));var q1 = q.FutureCount();var q2 = q.Skip(10).Take(10).Future();//一次查询var data = q2.ToList();var count = q1.Value;
扩展库还支持查询缓存功能
var users = container.Users.Where(u => u.Id > 5).FromCache(CachePolicy.WithDurationExpiration(TimeSpan.FromSeconds(10)));
如果在10秒内重复查询,则会从缓存中读取,不会查询数据库
转载自:http://www.cnblogs.com/bomo/p/3509923.html
0 0
- EF扩展库(批量操作--删除、更新等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- EF扩展库(批量操作)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- EF 批量更新/删除数据
- EF 批量更新/删除数据
- [转]EF 批量更新/删除数据
- EF批量更新优化
- EF批量删除执行
- EF 更新 删除
- EF结合SqlBulkCopy实现高效的批量数据插入 |EF插件EntityFramework.Extended实现批量更新和删除
- EF结合SqlBulkCopy实现高效的批量数据插入 |EF插件EntityFramework.Extended实现批量更新和删除
- EF操作-删除记录
- EF实现批量更新(一般处理程序)
- EF中的那些批量操作
- Linux 挂载磁盘/自动挂载硬盘
- Java try和catch的使用
- Osmdroid加载第三方地图googlemap、bingmap等
- redis实际场景应用
- UE4 创建自己的角色
- EF扩展库(批量操作--删除、更新等)
- IDEA 出现 Unsupported major.minor version 52.0
- 【C语言】 约瑟夫环问题
- 安卓开发中常见的RGB颜色表
- 填报表下拉数据集使用需知
- 测距和避障传感器——雷达
- 洛谷 P2010 回文日期
- Sass关于颜色函数的乐趣
- 编译引用第三方jar包的类