Я пытаюсь настроить проект для Entityframwork 6 и служб данных WCF 5.6. Я просмотрел эту страницу
Я установил пакет NuGet.
Install-Package Microsoft.OData.EntityFrameworkProvider -Pre
После этого я попытался использовать ADO.Net Entity Data Model с помощью Wizard. Это не позволяет мне идти дальше. Ошибка такая
Ваш проект ссылается на последнюю версию EF; Однако и поставщик базы данных EF, совместимый с этой версией, не удалось найти для вашего подключения к данным. Выйдите из этого мастера, установите совместимый поставщик и перестройте проект перед выполнением этого действия. и ссылку: http://msdn.microsoft.com/en-us/data/jj730568
Моя база данных - это Oracle 11g, и я использую DevArt, чья версия Oracle pro 8.0.146.0
Я думал, что это некоторая проблема с DotConnect, которую я проверил у поставщика, они дали мне эту ссылку
Я тоже это сделал. Но успеха нет.
Когда я пытаюсь добавить DevArt Data Model * edml, он также дает мне Ef 6. поэтому, когда создайте этот edm и попробуйте службу данных WCF, дайте мне сообщение об исключении:
Свойство EntityState для типа 'Models.USER' не является допустимым свойством. Убедитесь, что тип свойства является общедоступным типом и поддерживаемым примитивным типом или типом сущности с допустимым ключом или сложным типом. '. Подробнее см. Журналы сервера. Трассировка стека исключений: в System.Data.Services.Providers.ReflectionServiceProvider.BuildTypeProperties
Как я могу установить их вместе?
Entityframework 6, Служба данных WCF 5.6, DevArt oracle Connector
Теперь дайте мне Ans для моих вопросов.
Итак, я последовал за упомянутыми ссылками как заключительные слова http://blogs.msdn.com/b/odatateam/archive/2013/10/02/using-wcf-data-services-5-6-0-with-entity-framework -6.aspx? Перенаправление = истина
Зарегистрировать поставщика организации http://blog.devart.com/entity-framework-6-support-for-oracle-mysql-postgresql-sqlite-and-salesforce.html
Полагаю, сложная зависимость dll - это препятствие для пересечения. Более подробно вы читаете ниже темы. (Ооппс.. У меня нет репутации, поэтому я не могу размещать больше ссылок. Извините)
... "В вашем проекте приведена последняя версия Entity Framework, однако поставщик данных Entity Framework, совместимый с этой версией, не найден для вашего подключения к данным. Выйдите из этого мастера, установите совместимый драйвер и перестройте проект перед выполнением этого действие"...
При работе с EDM Designer вы должны добавить регистрацию EF-провайдера в *.config перед добавлением в проект новой модели данных Entity Data ADO.NET. Образец для dotConnect для Oracle доступен здесь: http://blog.devart.com/entity-framework-6-support-for-oracle-mysql-postgresql-sqlite-and-salesforce.html
Entity Developer добавляет эту регистрацию EF-провайдера в *.config автоматически. Мы рекомендуем использовать Entity Developer (Devart Entity Model, *.edml) вместо EDM Designer (ADO.NET Entity Data Model, *.edmx), потому что он настроен для работы с Oracle и имеет расширенную функциональность: http://www.devart.com/entitydeveloper/ed-vs-edm.html.
... Сообщение об исключении: "Свойство EntityState в типе" Models.USER "не является допустимым свойством. Убедитесь, что тип свойства является общедоступным типом и поддерживаемым примитивным типом или типом сущности с допустимым ключом или сложным типом.
Пожалуйста, присылайте нам (поддержка в devart * com) небольшого тестового проекта, с помощью которого можно было бы воспроизвести ошибку, чтобы мы могли более подробно изучить ее и найти решение для вас.