【发布时间】:2012-01-25 12:53:26
【问题描述】:
我将 EntityFramework.Migrations (Beta 1) 添加到现有的 Code-First 应用程序中,该应用程序正在进行一些更改(用于迁移功能和对我从我的代码优先 API 生成的表进行更多微调)并运行进入 GETDATE() 场景。
我已经在我的 DbContext 中使用了一个自定义初始化程序类来运行 SQL 脚本来设置一些字段并在我的数据库中创建索引。我的一些 AlterTable 脚本主要用于设置具有默认值的字段(例如某些 DateTime 字段被设置为 GETDATE())。我真的希望 EntityFramework.Migrations 对此有答案,因为您可以轻松指定 defaultValue,但到目前为止我还没有看到。
有什么想法吗?我真的希望执行以下操作会神奇地起作用。 (毕竟是‘魔法独角兽’)
DateCreated = c.DateTime(nullable: false, defaultValue: DateTime.Now)
不幸的是,从逻辑上讲,它将我的默认值设置为执行Update-Database 命令的时间。
【问题讨论】:
-
我不打算研究围绕“......通过使用 ORM,您不应该将逻辑放入数据库......”的理论。我明白那个。只是想确保没有人在构造函数中使用 DateTime.Now 抛出 POCO 示例:)
-
刚刚有类似的可能,并找到了一个很好的解决方案。希望这会有所帮助:stackoverflow.com/questions/9830216/…
标签: entity-framework-4 ef-code-first entity-framework-migrations