在实体框架核心中截断表

时间:2021-02-12 11:25:24

标签: c# sql entity-framework entity-framework-core

如何使用 C# 代码而不是 SQL 查询截断某个表?

我想要相当于 TRUNCATE TABLE <table_name>

到目前为止,我已经尝试过:

context.Products.RemoveRange(context.Products);

然而,它没有做任何事情

1 个答案:

答案 0 :(得分:2)

你不能,这不是 ORM 的用途。

ORM 可帮助您在对象访问方面访问数据库。截断表是数据层操作,而不是对象操作。 Entity Framework 中的等价物是从数据库中加载所有对象并一一删除它们。

你不想那样,你想截断表格。然后深入研究 SQL 并截断该表。

当然,Entity Framework 上有一些扩展允许这样的事情,但最终它们会生成你阻止执行的 SQL,那么为什么不干脆自己做呢?