请问MVC3 LINQ TO EF 一次性删除表里多行记录怎么做呀?

yctcsms 2013-11-22 11:21:12
有一个表 students 年龄age小于20的共有10行记录,
怎么一次性把这10行记录删除掉?

看到EF中有个DeleteObject方法但是只能一行一行删,效率太差了
如 db.students.DeleteObject(u);

如果用循环遍历删除的话,出现的sql类似这样?
delete from students where id=n1
delete from students where id=n2
delete from students where id=n3
...
我只想实现一条SQL删除,但是用ef不知道怎么写这个语句
delete from students where age<20

请帮忙看看,谢谢!
...全文
490 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yctcsms 2013-12-03
  • 打赏
  • 举报
回复
我看到版本显示的是 4.0.0.0,这个是什么版本?
yctcsms 2013-11-22
  • 打赏
  • 举报
回复
vs2010里怎么看我安装的EntityFramework版本,可能我的安装的版本还是低版的,没有remove submitchanges。 请问怎么查看EntityFramework版本的?
Im_Sorry 2013-11-22
  • 打赏
  • 举报
回复
引用 楼主 yctcsms 的回复:
有一个表 students 年龄age小于20的共有10行记录, 怎么一次性把这10行记录删除掉? 看到EF中有个DeleteObject方法但是只能一行一行删,效率太差了 如 db.students.DeleteObject(u); 如果用循环遍历删除的话,出现的sql类似这样? delete from students where id=n1 delete from students where id=n2 delete from students where id=n3 ... 我只想实现一条SQL删除,但是用ef不知道怎么写这个语句 delete from students where age<20 请帮忙看看,谢谢!

        实体类 modelname = 数据源db.OrderDetails.First(d => d.age < 20);
        数据源DB.OrderDetails.Remove(modelname);
        db.SubmitChanges();
最重要是SubmitChanges(),OrderDetails.Remove 可以批量删除!
  • 打赏
  • 举报
回复
大致就都是这么个意思: var 数据= db.表.Where(t => t.NetWorkID == NetworkID); db.表.DeleteAllOnSubmit(数据); db.SubmitChanges();
  • 打赏
  • 举报
回复
http://social.msdn.microsoft.com/Search/zh-CN?query=mvc&ac=4 官网教程 0基础学习
devmiao 2013-11-22
  • 打赏
  • 举报
回复
context.DeleteObjects(context.Table.Where(x => x.id < n))
q107770540 2013-11-22
  • 打赏
  • 举报
回复
引用 2 楼 yctcsms 的回复:
vs2010里怎么看我安装的EntityFramework版本,可能我的安装的版本还是低版的,没有remove submitchanges。 请问怎么查看EntityFramework版本的?
看你项目里引用的EntityFramework.dll的版本 你可以直接SQL语句来进行批量删除
using (var context = new DatabaseEntities())
{
    context.ExecuteStoreCommand("DELETE FROM students WHERE id < {0}", 20);
}

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧