2012-02-08 2 views
2

У меня есть простой сценарий:Проблемы с Entity Framework и EntitiyDataSource

  • Web Project (C#) с добавлением ссылки длл к ниже DataSource проекта.
  • Отдельный проект DataSource (Библиотека классов), где я добавил файл edmx и сгенерировал POCO с генератором DbContext.

Действительно, ничего особенного. Я думаю, что каждое учебное видео YouTube, которое я видел на Entity Framework, делает что-то простое.

Что я обнаружил, так это то, что EntityDataSource просто не работает. Я получаю диапазон сообщений об ошибках, и я действительно не могу видеть картину, когда они обнаруживаются:

Вот некоторые из них:
- Невозможно загрузить указанный источник метаданных
- схема недействительны и типов не могут быть загружен, потому что сборка содержит EdmSchemaAttribute ... загрузка имени и атрибута недопустима.

Несколько раз, не знаю, как мне удалось пройти мимо этой ошибки, в таком случае я бы получить ошибку CLR, когда я пытаюсь выполнить простую страницу с источником данных и GridView (ничего не было закодировано)

End чтобы добавить к проблеме ... Я ссылаюсь на другой проект DataSource таким же образом. Я вполне могу установить этот EntityDataSource без ошибок выше. Но когда я нажимаю Обновить схему, я получаю сообщение об ошибке «Не удалось найти тип CLR для MyEntity.

Что то здесь не так.

Благодаря

ответ

0

Я получаю сообщение об ошибке EdmSchemaAttribute, используя EF 5.0 и WCF Data Services 5.2.0. Это была услуга передачи данных с использованием DbContext -derived класса, но DbContext -derived класс был в той же сборке, как некоторые EDMX файлы и ObjectContext на основе кода, генерируемых из файлов EDMX.

исправление для меня заключалось в том, чтобы разделить код EF первого кода от первой модели E F (который использует ObjectContext и генерирует код с атрибутом [EdmSchema]). Переместив код-первый код в отдельную сборку, сообщение об ошибке исчезло, и все работает.

Я надеюсь, что это поможет.

Смежные вопросы