Count и LongCount не поддерживаются в Silverligth, потому что они требуют синхронного выполнения запроса. Поскольку Silverlight требует, чтобы все сетевые операции были асинхронными, это невозможно.
Вы можете либо выполнить соответствующий HTTP-запрос программно, не используя DataServiceContext (или связанные классы), так как $ count возвращает текстовое представление числа, синтаксический анализ ответа не такой сложный.
Или вы можете использовать немного хитрости. Вы можете использовать IncludeTotalCount (), чтобы добавить в запрос параметр $ inlinecount = allpages, который будет включать в ответ счетчик. Затем, чтобы не загружать все сущности с сервера, вы можете использовать Take (0), который добавит $ top = 0 и, таким образом, вернет пустой набор результатов. Но встроенный счетчик все равно будет содержать правильное число.
Вы можете получить доступ к встроенному счетчику в свойстве QueryOperationResponse.TotalCount.
Примерно так:
NetflixCatalog ctx = new NetflixCatalog(new Uri("http://netflix.cloudapp.net/Catalog"));
var q = (DataServiceQuery<Genre>)ctx.Genres.IncludeTotalCount().Take(0);
q.BeginExecute((ar) =>
{
QueryOperationResponse<Genre> r = (QueryOperationResponse<Genre>)q.EndExecute(ar);
r.TotalCount.ToString(); // Use the count in whatever way you need
}, null);