Недавно я начал работать с EF 4.1 в .NET и имел некоторый положительный опыт до сегодняшнего дня, когда я пытался создать свой собственный проект (пока я работал над проектами, начатыми кем-то другим).
Эта штука просто не хочет работать из коробки. Я не делаю ничего особенного. Вообще-то, сначала это сработало, потом перестало работать из ниоткуда, и теперь, после 4 часов напрасной траты времени, я пишу этот пост.
Мое решение состоит из 3 проектов:
WebApp (где живет мое приложение)
DataAccess
BusinessObjects
DataAccess содержит файлы EntityModel.edmx и EntityModel.Context.tt.
BusinessObjects содержит EntityModel.tt со всеми базовыми объектами. Я использовал генератор ADO.NET DbContext для генерации объектов.
Для пространства имен для EntityModel.Context.tt задано значение BusinessObjects.
WebApp и DataAccess ссылаются на проект BusinessObjects.
BusinessObjects не ссылается ни на что.
(Полагаю, я все правильно настроил. EntityModle.tt может видеть файл edmx и объекты создаются при редактировании файла.)
Итак, на данный момент проекты компилируются без ошибок.
На следующем шаге я добавляю EntityDataSource на свою страницу default.aspx, и после выбора соединения в конфигурации источника данных (одно из файла web.config) я получаю сообщение об ошибке: Метаданные, указанные в этой строке соединения, не могут быть загружен. Рассмотрим перестройку веб-проекта ... Невозможно загрузить указанный ресурс метаданных.
Раньше у меня была такая проблема, когда я что-то неправильно писал в строке подключения, менял название модели или подобное, но теперь я ничего не делал. Я воссоздал файл edmx и его POCO несколько раз, убедившись, что скопировал строку подключения из app.config. Это просто не работает.
Любая помощь приветствуется.
Спасибо.