Я использую службы данных ADO.NET в приложении Silverlight, и, поскольку библиотеки Silverlight не поддерживают вызов ToList() для IQueryable, я подумал, что можно создать метод расширения вокруг этого, называемый SilverlightToList(). Итак, в этом методе я вызываю метод BeginExecute в своем контексте, как показано ниже:
var result = context.BeginExecute<T>(currentRequestUri,null,context);
result.AsyncWaitHandle.WaitOne();
return context.EndExecute<T>(result).ToList();
Проблема в том, что когда я вызываю метод WaitOne(), это приводит к взаимоблокировке. Является ли это ограничением служб данных ADO.NET в Silverlight? Возможно, есть обходной путь для этого?