System.InvalidOperationException: не удалось найти информацию сопоставления и метаданных для EntityType - PullRequest
4 голосов
/ 15 марта 2012

У меня есть веб-приложение ASP.NET 4.0, в котором используется Entity Framework 4.3.1 и объекты с самоконтролем.Он работает нормально, пока я не добавлю в него другой файл ADO.NET Entity Data Model (.edmx).После этого проект компилируется без каких-либо ошибок, но как только он вызывает объект самообследования сущности, приложение создает исключение System.InvalidOperationException: не удалось найти информацию о сопоставлении и метаданных для EntityType 'namespace.classname'.

Я попытался добавить вторую модель данных сущности ADO.NET в другое пространство имен, но это не помогает.Если я удалю добавленный файл .edmx из проекта, проблема исчезнет.Если я удаляю файлы сущностей с самообследованием (Model.tt и Model.Context.tt), проблема исчезает.

Похоже, что само отслеживающиеся сущности не могут функционировать должным образом, когда существует больше, чем Модель данных сущностей.

Кто-нибудь еще испытал и решил эту проблему?

Ответы [ 2 ]

1 голос
/ 26 ноября 2012

Убедитесь, что в вашем решении используется согласованная генерация контекста.

Используйте генератор EF 5.x DbContext на каждой из ваших моделей данных сущностей. Вы можете скачать шаблон через ExtensionManager (поиск по EF 5.x) или здесь

0 голосов
/ 15 марта 2012

Я думаю, что сущности самопроверки не поддерживаются начиная с версии 4.1 (DbContext). У нас было несколько проблем на работе при обновлении с 4 до 4.2 с помощью ste, и мы закончили переработкой всего, чтобы использовать DbContext и избавиться от ste. С тех пор он работает как шарм!

...