EF删除和修改数据只能先从数据库取出,然后再进行删除

  delete from Table1 where Id>5;

  update Table1 set Age=10;

我们需要这样操作

//删除
var t1 = context.Table1.Where(t => t.Id > ).ToList();
foreach(var t in t1)
{
context.Table1.Remove(t);
}
context.SaveChange(); //更新
var t1 = context.Table1.ToList();
foreach(var t in t1)
{
t.Age = ;
}
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 > );
context.SaveChange(); //更新
context.Table1.Update(u => u.Id > , u => new Table1 { Age = });
context.SaveChange();

扩展库还支持批量查询功能

例如:在分页查询的时候,需要查询结果数,和结果集

EF做法:

var q = container.Users.Where(u => u.Name.StartsWith("a"));
//查询2次 var count = q.Count();
var data = q.Skip().Take().ToList();

EF扩展库的做法

var q = context.Table1.Where(t => t.Name.StartsWith("a"));
var q1 = q.FutureCount();
var q2 = q.Skip().Take().Future(); //一次查询
var data = q2.ToList();
var count = q1.Value;

扩展库还支持查询缓存功能

var users = container.Users.Where(u => u.Id > ).FromCache(CachePolicy.WithDurationExpiration(TimeSpan.FromSeconds()));

如果在10秒内重复查询,则会从缓存中读取,不会查询数据库

最新文章

  1. wpf——三维学习1
  2. hibernate 批量增加 修改 删除
  3. JMeter学习(十八)JMeter测试Java(二)
  4. OpenGL 开始学习指南
  5. webSphere提示SSL证书过期,解决方法
  6. “大数据讲师”、“Hadoop讲师”、“Spark讲师”、“云计算讲师”、“Android讲师”
  7. centos上如何安装git
  8. springboot~hazelcast缓存中间件
  9. js中style,currentStyle和getComputedStyle的区别以及获取css样式操作方法
  10. 安装Mycat 曾经踩的那些坑
  11. Codeforces 348D Turtles LGV
  12. 详细分析MySQL事务日志(redo log和undo log) 表明了为何mysql不会丢数据
  13. Python学习—基础篇之基本数据类型(一)
  14. shell 变量相关的命令
  15. ThinkPHP3.2.3:使用模块映射隐藏后台真实访问地址
  16. Flash:TextField字体不显示/文字不显示/文字丢失
  17. Python-sys模块,异常
  18. idea启动崩溃问题
  19. Hive Tuning(一) 连接策略
  20. list 移除值

热门文章

  1. .net如何把导数据入到Excel
  2. Get function name by address in Linux
  3. 【BZOJ】1503: [NOI2004]郁闷的出纳员(Splay)
  4. ueditor使用总结——前端篇.md
  5. C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】
  6. replaceCharactersInRange
  7. Qt OpenCV Support Image Type 支持读写的图像格式
  8. Css3 - 动画旋转
  9. php函数描述及例子
  10. JavaScript的My97Date日期工具类的使用