|
|
|
Генерация базы данных из модели
|
|||
|---|---|---|---|
|
#18+
Visual Studio 2010 MVC 2 веб-приложение, Entity Framework Нужно чтобы база данных генерировалась при компиляции приложения из модели. Изначально модель сгенерирована на основе существующей базы данных. Нашел эту статью авторСоздаем в базе данных записи по умолчанию Перед тем как перейти к изучению контроля данных в ASP.NET MVC 3 давайте сделаем небольшое изменение в создаваемом веб-приложении, которое упростит работу в дальнейшем. Как было уже отмечено, при изменении классов Модели необходимо пересоздавать базу данных, что приводит к потере уже существующих в ней данных. Это не страшно, так как на этапе разработки важных данных в таблицах нет. Но вот сама необходимость каждый раз создавать записи может сильно изматывать. Поэтому создадим метод, который будет наполнять базу значениями, но только в случае если она была только что создана. Такую возможность предоставляет Entity Framework. Для этого в папке DbContext создадим класс CatalogInitializer, который должен быть унаследован от одного из следующих классов: DropCreateDatabaseIfModelChanges<TContext> – обеспечивает автоматическое удаление базы данных в случае изменения любого класса Модели. DropCreateDatabaseAlways<TContext> – всегда перед запуском удаляет базу данных и воссоздается её с определенными пользователем данными. CreateDatabaseIfNotExists<TContext> – создает базу данных и заполняет её значениями только если она отсутствует. В качестве параметра шаблона TContext необходимо указать тип контекста базы данных. Проблема в том, что у меня нет этих классов от которых нужно наследовать и которые как я понял находятся в пространстве имен: "System.Data.Entity" - данное пространство у меня подключено, в файле в котором я пытаюсь наследоваться. Возможно у меня старая версия Entity Framework (как узнать какая у меня версия? Я использую MVC 2 и Entity Framework из стандартной поставки Visual Studio 2010 Professional) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 15:48:40 |
|
||
|
Генерация базы данных из модели
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Получаю ошибку: авторОшибка 1 Не удалось найти имя типа или пространства имен "DropCreateDatabaseIfModelChanges" (пропущена директива using или ссылка на сборку?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 15:51:24 |
|
||
|
Генерация базы данных из модели
|
|||
|---|---|---|---|
|
#18+
EF нужна правильной версии. Надо ее подключить Add Reference. почему бы не взять MVC3 и свежую EF? Меньше головняков будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 19:05:16 |
|
||
|
Генерация базы данных из модели
|
|||
|---|---|---|---|
|
#18+
Winnipuh, подключил библиотеку ENtity Framework 4.1 классы появились. Winnipuhпочему бы не взять MVC3 и свежую EF? Это что-то типа тестового задания при приеме на работу, сказали MVC 2 использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 19:19:32 |
|
||
|
Генерация базы данных из модели
|
|||
|---|---|---|---|
|
#18+
boyarincevWinnipuh, подключил библиотеку ENtity Framework 4.1 классы появились. Winnipuhпочему бы не взять MVC3 и свежую EF? Это что-то типа тестового задания при приеме на работу, сказали MVC 2 использовать. ясно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 20:07:17 |
|
||
|
Генерация базы данных из модели
|
|||
|---|---|---|---|
|
#18+
boyarincevWinnipuhпочему бы не взять MVC3 и свежую EF? Это что-то типа тестового задания при приеме на работу, сказали MVC 2 использовать.они тупые, не иди к ним работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 20:45:55 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37605648&tid=1360096]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
210ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 497ms |

| 0 / 0 |
