Мы используем DevArt dotConnect для подключения к серверу Oracle. Наши предыдущие машины-разработчики использовали dotConnect 8.4.254.4, что и было проверено в Subversion. Я создал новую машину для разработчиков и установил самую новую версию, которая составляет 8.5.616.0. Я обновил каждую ссылку 8.4, которую я мог найти, даже выполнив «Найти файлы» во всем, что было проверено. Однако что-то об этой версии нарушает наш код. В принципе, правильно, когда я пытаюсь создать контекст базы данных:Ошибка выполнения при создании контекста базы данных с использованием dotConnect и Entity Framework 6
using (var _context = new DbContext())
я получаю это исключение:
'Instance' член Entity Framework типа поставщика «Devart.Data.Oracle .Entity.OracleEntityProviderServices, Devart.Data.Oracle.Entity, Version = 8.5.616.0, Culture = neutral, PublicKeyToken = 09af7300eec23701 'не возвратил объект, который наследует от' System.Data.Entity.Core.Common.DbProviderServices ». Поставщики Entity Framework должны наследовать этот класс, а член «экземпляр» должен вернуть экземпляр singleton поставщика. Возможно, это связано с тем, что провайдер не поддерживает Entity Framework 6 или новее; см. http://go.microsoft.com/fwlink/?LinkId=260882 для более информация.
Я потратил немало времени на поиск переполнения стека для подобных ошибок, и есть много (во многих системах баз данных). Существуют различные решения, такие как обновление различных файлов .config и ссылок на сборку, но я почти все это пробовал. Были также некоторые предложения о переносе DLL из GAC и обращении к нему непосредственно в Program Files, которые я также пробовал. Я сейчас в недоумении. Как я могу выяснить причину этой проблемы? Я рад добавить больше кода или информации, которые были бы полезны, просто спросите.
Update:
Я заметил в обозревателе объектов, если я иду к фактическому Devart.Data.Oracle.Entity.OracleEntityProviderServices
класса, базовый тип отсутствует:
Я интересно если это связано с проблемой.
Это исправлено, спасибо! Исполнение .NET - это всегда хлопот. –