Возможно ли установить поле DateTime по умолчанию в GETDATE() с помощью Entity Framework Migrations?

Я добавил EntityFramework.Migrations (Beta 1) в существующее приложение Code-First, которое проходит через некоторые изменения (как для возможностей миграции, так и для более тонкой настройки таблиц, которые я генерирую из моего API code-first) и столкнулся со сценарием GETDATE().

Я уже использовал пользовательский класс инициализатора в своем DbContext для запуска SQL-скриптов для установки некоторых полей и создания индексов в моей базе данных. Несколько моих скриптов AlterTable являются первичными только для установки полей со значениями по умолчанию (например, некоторые поля DateTime устанавливаются в GETDATE()). Я очень надеялся, что в EntityFramework.Migrations найдется ответ на этот вопрос, поскольку вы можете легко указать defaultValue, но пока что я его не вижу.

Есть идеи? Я очень надеялся, что следующие действия сработают волшебным образом. (Это же "волшебный единорог", в конце концов)

DateCreated = c.DateTime(nullable: false, defaultValue: DateTime.Now)

К сожалению, что логично, это установило мое значение по умолчанию на время, когда была выполнена команда Update-Database.

33
задан adammokan 21 December 2011 в 18:16
поделиться