0

在 Windows Phone 7.1 上使用 Linq 2 SQL CE,如何触发“DELETE FROM table_name WHERE some_column=some_value”SQL 命令?

不幸的是,即使在将“最大缓冲区大小”参数增加到 1024 之后,使用 Table.DeleteAllOnSubmit() 方法擦除项目的速度也非常慢:stupud Linq 会反序列化每条记录,因此 DataContext.SubmitChanges() 方法永远不会返回。

4

1 回答 1

1

您无法触发所需的 DELETE 语句,但可以执行以下操作:

使用 .Take(100) 仅 fetech 并删除每个 SubmitChanges() 调用的一组记录,并在循环中运行,直到不再返回任何行。

在我的测试中,使用 rowversion 列加快删除速度,从 320 毫秒到 70 毫秒以下 - 请参阅http://erikej.blogspot.dk/2012/04/windows-phone-local-database-tip.html

于 2013-03-13T16:59:16.107 回答