当前位置: 首页 > 面试题库 >

如何删除Linq to Entity中的多个记录?[复制]

司马渝
2023-03-14
问题内容

这个问题已经在这里有了答案

如何在Entity
Framework中删除多行(无foreach)
(22个答案)

7年前关闭。

我在sql中有tblA:

id  int  (primary key)
fid  int

tblA中的数据是:

1   1
2   1
3   2
4   2
5   3
6   3

我通过以下代码删除 一条记录

DatabaseEntities obj = new DatabaseEntities();
int i = 2;
tblA t = obj.tblA.Where(x => x.fid == i).FirstOrDefault();
obj.DeleteObject(t);
obj.SaveChanges();

我通过以下代码删除多条记录:

DatabaseEntities obj = new DatabaseEntities();
int i = 2;
while (obj.tblA.Where(x => x.fid == i).Count() != 0)
{
   tblA t = obj.tblA.Where(x => x.fid == i).FirstOrDefault();
   obj.DeleteObject(t);
   obj.SaveChanges();
}

有什么解决方案可以删除linq中的 多个记录 到实体吗?


问题答案:

您可以执行以下操作,从技术上讲,这仍然是一个循环。

obj.tblA.Where(x => x.fid == i).ToList().ForEach(obj.tblA.DeleteObject);
obj.SaveChanges();

替代方法是直接调用SQL。



 类似资料:
  • 我正在创建一个脚本,用于将一个参数传入MySQL查询,然后执行该MySQL查询以从多个表中删除多条记录。 现在我遇到了一个问题,我需要为每个单独的表创建多个文件。是否有一种方法可以在一个文件中执行每个MySQL查询,而不是为每个查询创建多个文件? 以下是我创建的代码:

  • 问题内容: 嗨,在这里我遇到了一种情况,即由于错误地没有删除表,我已经运行了该表的批处理文件,该文件由一些详细的插入语句组成 我有一个像alert_priority的表由类似 现在错误地没有删除 alert_priority 我已经执行了表的脚本文件,其中包含一些插入语句,现在执行脚本后,我在表中的记录就像 现在,我想删除多余的记录(Id 3之后的记录),并且在执行脚本文件之前,我应该拥有所有存在

  • 问题内容: 在我们的系统中,我们每小时从外部数据库导入一次。由于导入脚本中的错误,现在有一些重复的记录。 如果任何记录具有和,则视为重复。 我可以运行什么代码来查找和删除这些重复项? 我在玩这个: 它似乎返回了一些重复项,但是我不确定如何从那里删除? 有任何想法吗? 问题答案: 您可以尝试以下方法: 还是纯sql:

  • 问题内容: 使用rails或mysql查询删除mysql数据库中重复记录的最佳方法是什么? 问题答案: 您可以通过以下方式将不同的记录复制到新表中:

  • 这是我的原始表格: 预期表: 我无法向表中添加新列。

  • 本文向大家介绍sql 删除表中的重复记录,包括了sql 删除表中的重复记录的使用技巧和注意事项,需要的朋友参考一下 遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢 如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长) 然后就可以直接删除,基本原理就是,找到重复记录的每一条记录,排除掉重复id最小的记录,删除剩余的重复