我尝试从一张表中删除多行记录。
在常规的SQL Server中,这很简单,就像这样:
DELETE FROM Table
WHERE
Table.Column = 'SomeRandomValue'
AND Table.Column2 = 'AnotherRandomValue'
在Entity Framework 6中,他们引入了RemoveRange()方法。然而,当我使用它时,它并没有使用我提供的where子句来删除行,而是通过其主键一个个查询匹配的所有行并将其删除。
这是Entity Framework的当前限制吗? 还是我错误地使用了
RemoveRange()
方法?以下是我如何使用
RemoveRange()
的方式:db.Tables.RemoveRange(
db.Tables
.Where(_ => _.Column == 'SomeRandomValue'
&& _.Column2 == 'AnotherRandomValue')
);
RemoveRange()
函数,但仍然需要循环。 - Peter Han