Служба данных WCF с EF не может предоставить импортированные функции - PullRequest
3 голосов
/ 27 мая 2011

(я также использую .NET 4.0 и VS 2010.)

Я создал импорт функции, возвращающий сложный тип, как объяснено в http://msdn.microsoft.com/en-us/library/bb896231.aspx. Импорт функции и новый сложный тип появляются вмой файл .edmx и в файле Designer.cs.Однако эта функция не отображается, когда я просматриваю службу в браузере, и когда я добавляю или обновляю ссылку на службу в клиентском проекте, функция также там не отображается - как и следовало ожидать, учитывая первый результат.

Создание импортированной функции и ее использование кажется концептуально очень простым и понятным, и можно было бы подумать, что это сработает, как показывают пошаговые инструкции Microsoft: http://msdn.microsoft.com/en-us/library/cc716672.aspx#Y798 (какая статья показываетSP, возвращающий типы сущностей - я тоже пробовал это, и у меня это тоже не работает)http://www.codegain.com/articles/wcf/miscellaneous/how-to-use-stored-procedure-in-wcf-data-service.aspx Я попытался добавить один метод, возвращающий список типов сущностей, а другой - список сложных типов, но все еще безуспешно.Я все еще не мог получить доступ к функциям, либо напрямую через браузер, либо из клиентского приложения через сервисную ссылку.

Заранее благодарен за любую помощь в этом.

1 Ответ

1 голос
/ 27 мая 2011

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

MS неплохо бы добавить примечание к пошаговым инструкциям, в котором говорится, что вышеупомянутый фрагмент кода должен быть там. (Возможно, лучше включить каждую операцию явно, чем использовать "*".)

http://www.codegain.com/articles/wcf/miscellaneous/how-to-use-stored-procedure-in-wcf-data-service.aspx показывает эту строку кода. Кроме того, что-то там есть в коде, закомментировано, когда создается служба данных WCF. Некоторым из нас нравится удалять закомментированный код, который мы не используем и который кажется неуместным - возможно, делать это немного преждевременно, иногда.

...