【发布时间】:2021-05-16 03:42:34
【问题描述】:
如何使用 C# 代码而不是 SQL 查询截断某个表?
我想要相当于TRUNCATE TABLE <table_name>
到目前为止,我已经尝试过:
context.Products.RemoveRange(context.Products);
但是,它什么也没做
【问题讨论】:
-
EF 无法做到这一点。但是,您可以在上下文中使用 SQL 查询,例如
context.Database.ExecuteSqlRaw("Truncate table <table_name>"); -
顺便说一句,
RemoveRange应该可以工作(但它不会截断表格,它会为每个匹配的行使用delete),之后您是否使用了context.SaveChanges()? -
@Magnetron 你是对的......我完全忘记了保存更改。现在可以了!
标签: c# sql entity-framework entity-framework-core