Я только что преподаю себе MVC4 (сделал веб-форму в течение многих лет), а я разочарован - но не о MVC, который довольно хорош. Entity Framework is ... wellMVC 4 + Entity Framework 5 + Хранимые процедуры
Я использую VS2010.
Проблема
У нас есть реальная база данных, вы знаете, нормализуется, как внешние ключи и прочее. Но каждый пример, который я нахожу для Entity Framework, напрямую связан с таблицей, но у нас редко есть прямая таблица выпадающих списков выпадающих списков и т. Д. Все наши веб-интерфейс вызовов хита ХП (как старо школы бранных удалена!)
Я люблю архитектуру модели в MVC, где вы определяете атрибуты данных, поступающих из источника данных - Отображаемое имя, диапазоны, DATATYPE , и т. д. Поэтому я определенно хочу сохранить это.
Entity Framework и MVC не хотят хорошо играть в этом сенарио. Я создал свой файл edmx (только с SP), импортировал мою функцию для SP, все хорошо ... до сих пор.
Невозможно создать контроллер из edmx/designer. Введите имя контроллера, выберите MVC-контроллер с чтением с использованием EF, выберите класс модели, который является FuntionName_Result, а для контекста выберите имя ... Entities. FAIL Не удалось получить метаданные
OK, так что теперь я пытаюсь создать EF 5.x DbContext Generator, обновить имя файла и бум. У меня есть модель и контекст - теперь я могу сделать классный материал MVC, позволяет перестраивать сайт. ... о ужас - все было определено ранее.
Я попытался создать edmx в другой папке и/или удалить его после генератора DBContext, все еще не могу создать контроллер.
'blah' is not part of the specified 'Context' class, and the 'Context' class could not be modifed to add a 'DbSet' property to it. (For example, the 'Context' class might be in a compiled assembly.)
Если я вручную добавить DBSet, я вернулся, чтобы не удалось извлечь метаданные - Я предполагаю, что это происходит потому, что он не может подключиться к БД. Я не знаю, где сказать, чтобы использовать строку подключения в web.config. - если это проблема
Здесь лежит мертвый мой MVC надежды на светлое будущее.
Что мне не хватает?
Я не женат на EF, поэтому, если есть лучший способ доступа к базам данных (без написания всего кода с нуля), я здесь, чтобы послушать.
Благодаря
Не говоря уже о том, что EF 6 будет поддерживать Хранится Procs. Еще одна веская причина сделать толчок. – IronMan84
Спасибо, Бен. На этом этапе я смог доставить данные из БД, используя код, созданный EF. Тем не менее, я сейчас смотрю на другие ОРМ - в частности, на PetaPOCO. –
Так это ответ на ваш вопрос или нет? Если нет, пожалуйста, уточните, и я посмотрю, смогу ли я предоставить дополнительную помощь. –