ASP.NET MVC3 Изменения в моделях

Для тех, кто знаком с Python/Django и модулем миграции South, я пытаюсь найти версию asp.net MVC3, если она существует.

Я пытаюсь создать объект, вставить данные и в будущем изменить свою модель, чтобы база данных надлежащим образом включала новые данные. Я хочу избежать ручных изменений SQL.

Существует ли это в С# и надежно ли это? Я немного читал о DBInitializers, я не совсем согласен с удалением всех моих данных, тестовых данных или нет, каждый раз, когда объект нуждается в обновлении.

Сторонний пакет является приемлемым решением (предпочтительно от NuGet), если у него есть активная пользовательская база.


person Valchris    schedule 29.09.2011    source источник


Ответы (1)


Похоже, вы ищете хороший комбинированный инструмент ORM и миграции. Я не очень хорошо знаком с Django, но я немного поработал с Rails, и на первый взгляд South немного похож на ActiveRecord + rake. Это звучит точно?

Лучший ORM, с которым я работал для .NET, — это EntityFramework 4.1 (т. е. EF Code First), который доступен здесь. . Просто это самый загружаемый пакет в NuGet.

Microsoft выпустила пакет миграции для EF, который также доступен в NuGet. Скотт Хэнеслман записывал об этом недавно.

Вы также можете заглянуть в NHibernate, поскольку некоторые люди клянутся им. Я лично никогда не использовал его, но я слышал отличные вещи.

Надеюсь, это поможет вам начать в правильном направлении.

// Редактировать

Немного покопавшись в NuGet, я наткнулся на Fluent Migrator, который выглядит многообещающе. Возможно, это лучшая альтернатива пакету EF Migrations на данный момент...

person JasonOffutt    schedule 29.09.2011
comment
Версия 2, на которую вы ссылаетесь, на самом деле устарела, но вы указали мне на версию 3 Code First Migrations, проект выглядит действительно новым, так что это немного пугает. 8 дней назад они выпустили версию 3, которая не имеет обратной совместимости с версией 2! Разговор о кошмаре... Вот ссылка на случай, если кто-то еще задает аналогичный вопрос: blogs.msdn.com/b/adonet/archive/2011/09/21/ Я оставлю этот пост открытым для другого день или два на случай, если есть лучшие альтернативы (это слишком новое и непроверенное, чтобы быть надежным!). - person Valchris; 29.09.2011
comment
Да, это меня не удивляет. Я выходил из памяти из-за того поста Скотта Хансельмана, но что касается его блога, он был в альфа-версии. Я только что вспомнил, как подумал: «Хммм… Наконец-то .NET получит эквивалент рейка. Надеюсь, он хорошо созреет, но я не ожидаю увидеть версию 1.0 до тех пор, пока .NET 4.5 не выйдет в конце этого или начале следующего года. - person JasonOffutt; 29.09.2011
comment
Миграции все еще находятся в ранней предварительной версии. Не ожидайте, что сможете использовать его в производстве в ближайшее время. - person Erik Funkenbusch; 30.09.2011
comment
Fluent Migrator и пакет EF Migration кажутся единственными реальными вариантами для ASP.NET прямо сейчас, было бы неплохо объединить их основные идеи, спасибо за редактирование. - person Valchris; 02.10.2011