在Windows Phone 7.1上使用Linq 2 SQL CE,如何触发“DELETE FROM table_name WHERE some_column = some_value”SQL命令?
不幸的是,即使将“max buffer size”参数增加到1024,使用Table.DeleteAllOnSubmit()方法删除项目的速度也慢得令人无法接受:stupud Linq反序列化每条记录,因此DataContext.SubmitChanges()方法永远不会返回。
答案 0 :(得分:1)
您无法触发所需的DELETE语句,但您可以执行以下操作:
使用.Take(100)仅限fetech并按照SubmitChanges()调用删除一组记录,并在循环中运行,直到不再返回任何行为止。
使用rowversion列加速删除,在我的测试中从320毫秒加速到70毫秒以下 - 请参阅http://erikej.blogspot.dk/2012/04/windows-phone-local-database-tip.html