相关:How can you cancel a SQL Server execution process programmatically用户如何取消长时间运行的查询?
我创建了一个基本上是数据库(Sql Server)中的数据查看器的应用程序(Windows,WPF)。该应用程序没有编辑功能。
该应用程序提供了基于来自用户的输入来搜索记录的能力。大多数情况下,行通过关键列进行搜索并运行速度非常快。但是表中的一列是一个很大的文本字段,我想提供基于该字段内容搜索行的功能。因此,生成的sql查询可能需要一些时间才能完成。我想提供一个停止按钮,以便用户可以放弃搜索,如果需要的话。我放在上面的链接使用Kill命令杀死Sql服务器中的spid,但我不确定这是如何工作的,因为我使用的是实体框架(4.1)
例如,假设a有
var docs = from document in context.Documents
join header in context.Headers
on document.DocumentID equals header.HeaderID into headerGroup
from subdoc in headerGroup.DefaultIfEmpty()
where document.LargeTextColumn.Contains("search term")
select (...)
foreach (var item in docs)
{
//Do something with item here
}
由于查询并没有真正发生,直到我通过它迭代与foreach语句,我怎么能提供一个“停止查询”按钮,用户:类似这样的质疑呢?这与Sql Server Management Studio中的停止按钮类似。
这可能吗?
[取消实体框架查询(http://stackoverflow.com/questions/5143957/cancelling-an-entity-framework-query)的可能重复 – 2011-05-13 17:05:13