gpt4 book ai didi

c# - 使用 RemoveRange() 批量删除行

转载 作者:IT王子 更新时间:2023-10-29 04:31:34 25 4
gpt4 key购买 nike

我正在尝试从表中删除多行。

在常规 SQL Server 中,这很简单:

DELETE FROM Table
WHERE
Table.Column = 'SomeRandomValue'
AND Table.Column2 = 'AnotherRandomValue'

在 Entity Framework 6 中,他们引入了 RemoveRange()方法。
但是,当我使用它时, Entity Framework 不是使用我提供的 where 子句删除行,而是查询数据库以获取与 where 子句匹配的所有行并使用它们的主键逐一删除它们。

这是 EntityFramework 目前的限制吗?还是我使用的 RemoveRange() 有误?

以下是我如何使用 RemoveRange():

db.Tables.RemoveRange(
db.Tables
.Where(_ => _.Column == 'SomeRandomValue'
&& _.Column2 == 'AnotherRandomValue')
);

最佳答案

我认为我们在这里达到了 EF 的限制。有时你只需要使用 ExecuteSqlCommand保持性能。

关于c# - 使用 RemoveRange() 批量删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com