Служба данных WCF: «Операции не найдены» - PullRequest
2 голосов
/ 16 июня 2010

Я только что построил модель EF поверх базы данных (Framework 3.5 sp1) и хочу создать службу данных WCF для ее развертывания. Никаких проблем с сущностями, но теперь я создал сервисную операцию, подобную этой:

[WebGet]
public IQueryable<person> PersonsGetAll()
{
    return this.CurrentDataSource.persons;
}

и я установил InitializeService:

config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);

Итак, если я попытаюсь вызвать операцию по URL-адресу, вызову

http://localhost:1000/AKAdvService.AKAdvService/AKAdvDataService.svc/PersonsGetAll

работает нормально, но когда я добавляю ссылку на Visual Studio (2008) в эту службу данных, я получаю все сущности, но никаких операций. На правой панели «Добавить ссылку на сервис» я получаю сообщение:

"Служба данных ADO.Net: Операции не найдены."

Чего мне не хватает?

1 Ответ

2 голосов
/ 16 июня 2010

В настоящее время VS Service Add Reference не генерирует методы (и фактически не понимает) для операций службы.Для вызова сервисной операции, которая возвращает IQueryable, рекомендуется использовать что-то вроде:

context.CreateQuery<person>("PersonsGetAll");

Если ваша сервисная операция принимает параметры, вы можете добавить их, вызвав AddQueryOption для результата CreateQuery.

...