Linq 如何从表中删除所有记录?
我一直在寻找一个关于如何使用LINQ方法语法从表中删除所有记录的答案,但所有答案都是基于一个属性来完成的 我想从数据库中删除每一条记录 这个表看起来是这样的:Linq 如何从表中删除所有记录?,linq,Linq,我一直在寻找一个关于如何使用LINQ方法语法从表中删除所有记录的答案,但所有答案都是基于一个属性来完成的 我想从数据库中删除每一条记录 这个表看起来是这样的: public class Inventory { public int InventoryId { get; set; } public string InventoryName { get; set; } } 我不希望删除基于特定名称或id的记录 我想删除所有记录 LINQ方法语法不是必
public class Inventory
{
public int InventoryId { get; set; }
public string InventoryName { get; set; }
}
我不希望删除基于特定名称或id的记录
我想删除所有记录
LINQ方法语法不是必须的,但我更喜欢它,因为它更易于阅读。要从DB表中删除所有数据,我建议使用SQL:
Trancate Table <tableName>
trantate表
Linq并不意味着要更改源代码。没有LINQ方法可以从输入中删除或更新任何元素
更改输入的唯一方法是选择要在某个集合中删除的数据(标识符),然后在foreach中逐个删除这些项。可能是您与源集合的接口已经具有DeleteRange,在这种情况下,您不必执行foreach
唉,您没有提到您的表是什么:它是一个系统.Data.DataTable
?或者可能是一个实体框架DbSet
?表示表的任何其他常用类
如果您的表类是一个System.Data.DataTable
,或者实现了ICollection
,那么它应该有一个清除的方法
如果您的tabls是实体框架DbSet
,则取决于您的提供商(您使用的数据库管理系统)是否可以使用“清除”。通常,您需要执行以下操作:
using (var dbContext = new MyDbContext(...))
{
List<...> itemsToDelete = dbContext.MyTable.Where(...).ToList();
dbContext.MyTable.RemoveRange(itemsToDelete);
dbContext.SaveChanges();
}
使用(var-dbContext=new-MyDbContext(…)
{
List itemsToDelete=dbContext.MyTable.Where(…).ToList();
dbContext.MyTable.RemoveRange(itemsToDelete);
dbContext.SaveChanges();
}
这是一个数据库集。我对数据库不太熟悉,所以我没有透露。此外,我还设法找到了另一种好方法来删除表中的所有记录,或者更确切地说是整个表中的记录。你觉得怎么样<代码>使用(DungeonContext=new DungeonContext()){context.inventory.RemoveRange(context.inventory);context.SaveChanges();}
这不是我最后写的吗?我只做了两步,以清楚地显示发生了什么