Подтвердить что ты не робот

На сервере возникла ошибка при обработке запроса. Подробнее см. Журналы сервера.

У меня простая проблема.

Я создал службу данных WCF 5.6 в visual studio 2013 и в файле *.svc.cs, измененную строку

public class CustomdataService : DataService< /* TODO: put your data source class name here */ >

для подключения моих объектов

public class CustomdataService : DataService< SchedulerEntities >

Но когда я хочу видеть службу в браузере, она дает мне следующую ошибку

Ошибка запроса

Сервер обнаружил ошибку при обработке запроса. Подробнее см. Журналы сервера.

Структура сущности - это не что иное, как одна таблица...

4b9b3361

Ответ 1

Кажется, что Entity Framework 6 и WCF Data Services 5.6.0 нуждаются в некотором провайдере для совместной работы, читайте больше на Использование служб WCF Data Services 5.6.0 с Entity Framework 6+.

Вы можете загрузить провайдера просто с помощью диспетчера консоли пакетов NuGet:

Install-Package Microsoft.OData.EntityFrameworkProvider -Pre

Его версия - альфа-2, поэтому в будущем поиск окончательной версии. это работало для меня однако.

Последняя вещь, вместо использования DataService<T>, вам нужно использовать EntityFrameworkDataService<T>. T - это имя ваших объектов.

Ответ 2

Фактическая ошибка может быть разной. В моем случае я получил общее сообщение об ошибке при запуске с базы данных AdventureWorks2012.

Таким образом, реальную проблему можно увидеть, добавив атрибут в класс службы, как описано в здесь:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class WcfDataServiceAW : EntityFrameworkDataService<AdventureWorks2012Entities> { ... }

Надеюсь, что это поможет кому-то.

PS. Моя ошибка:

Сообщение об исключении: "Свойство" SpatialLocation "по типу" Адрес "имеет тип" География ", который не является поддерживаемым примитивным типом.".

Ответ 3

Согласно этот пост, вам нужно изменить унаследованный тип CustomdataService.

Замените базовый тип вашего DataService. Для EF 5 или ниже ваша служба данных должна наследовать от DataService, где T - DbContext или ObjectContext. Для EF 6 или выше ваша служба данных должна наследовать от EntityFrameworkDataService, где T - DbContext. Подробнее см. Раздел "Разница между DataService и EntityFrameworkDataService" ниже.

Ответ 4

перейдите к edmx, на диаграмме удалите все таблицы, пока не останется единственная, которую вы хотите, тогда все должно быть в порядке, не может иметь все таблицы, это то, что я нашел,

К. Т. Вонг