Похожие: Как программно отменить процесс выполнения SQL Server
Я создал приложение (Windows, WPF), которое в основном является средством просмотра данных в базе данных (Sql Server).).Приложение не имеет функции редактирования.
Приложение предоставляет возможность поиска записей на основе ввода от пользователя.По большей части строки ищутся по ключевому столбцу и работают довольно быстро.Но один столбец в таблице - это большое текстовое поле, и я хочу предоставить возможность поиска строк на основе содержимого этого поля.Из-за этого результирующий sql-запрос может занять некоторое время.Я хочу предоставить кнопку «Стоп», чтобы при желании пользователь мог прервать поиск.Ссылка, которую я разместил выше, использует команду Kill для уничтожения spid на сервере Sql, но я не уверен, как это будет работать в моей ситуации, так как я использую Entity Framework (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.
Возможно ли это?