可以使用实体框架迁移将 DateTime 字段默认为 GETDATE() 吗?

2023-12-28

我将 EntityFramework.Migrations(Beta 1)添加到现有的 Code-First 应用程序中,该应用程序正在经历一些更改(对于迁移功能以及对我从代码优先 API 生成的表进行更多微调)并遇到 GETDATE () 设想。

我已经在 DbContext 中使用自定义初始化程序类来运行 SQL 脚本来设置一些字段并在数据库中创建索引。我的一些 AlterTable 脚本主要用于设置具有默认值的字段(例如将某些日期时间字段设置为 GETDATE())。我真的希望 EntityFramework.Migrations 能够对此有一个答案,因为您可以轻松指定 defaultValue,但到目前为止我还没有看到一个答案。

有任何想法吗?我真的希望执行以下操作会神奇地起作用。 (毕竟这是“神奇的独角兽”)

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

不幸的是,从逻辑上讲,它将我的默认值设置为Update-Database命令已执行。


您可以使用

DateCreated = c.DateTime(nullable: false, defaultValueSql: "GETDATE()")

Usage:

public partial class MyMigration : DbMigration
{
    public override void Up()
    {
        CreateTable("dbo.Users",
            c => new
                {
                    Created = c.DateTime(nullable: false, defaultValueSql: "GETDATE()"),
                })
            .PrimaryKey(t => t.ID);
 ...

2012年10月10日更新:

根据蒂亚戈在评论中的要求,我添加了一些额外的背景信息。

上面的代码是 EF Migrations 通过运行生成的迁移文件Add-Migration MyMigration作为包管理器控制台中的命令。生成的代码基于与迁移关联的 DbContext 中的模型。答案建议您修改生成的脚本,以便在创建数据库时添加默认值。

您可以阅读有关实体框架代码优先迁移的更多信息here http://msdn.microsoft.com/en-US/data/jj591621.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以使用实体框架迁移将 DateTime 字段默认为 GETDATE() 吗? 的相关文章

随机推荐

  • Log4j2如何使用多个配置文件?

    我正在编写测试 Java 库的 Java 代码 该库包含其自己的 Log4j2 配置作为发行版的一部分 我想在我的测试代码中使用 Log4j2 而不修改库的配置 有没有办法为我的测试代码提供单独的 Log4j2 配置 这一切都作为命令行 J
  • 具有多个孔的 GeoJSON MultiPolygon

    下面我有我所期望的一种创建方法GeoJSON MultiPolygon object http geojson org geojson spec html id7其中有一个多边形 其中有两个 孔 当我使用该服务时http geojson i
  • 将 std::stack 复制到 std::vector

    标准是否保证以下代码可以工作 假设 st 不为空 include
  • 如何以编程方式检索所有查询的查询文本

    我想以编程方式检索存储在访问数据库中的每个查询的查询文本 我正在考虑使用 OleDbConnection GetSchema 或 OleDbConnection GetOleDbSchemaTable 甚至 ADOX 来获取所需的信息 我精
  • 如何在Ruby中实现注入?

    我需要能够使用这个调用 h x inject a b a b one b two a 其中 x 是 Couple 对象的序列 这些对象仅包含两个数字字段 一和二 我不知道如何在 Couple 中实现注入方法 定义一个 each中的方法Cou
  • 将静态 SQL 转换为动态 SQL

    我有一个静态 SQL 查询 它可以查找空白计数和数据类型 无论是数字还是字母数字等 下面是查询 SELECT case when Pattern then BLANK else Pattern end AS Pattern LEN case
  • Symfony Doctrine 实体好友有好友关注者

    我需要在我的项目中设置关注者 以下 myFriends hasFriend 逻辑 odobera 列的意思是 关注 例如 nick id user odobera 关注此用户 用户 25 正在关注用户 37 请求表 User entity
  • 为什么 Windows 7 上的 Ruby 1.9.2 使用 1.9.1 的 gems 路径?它使用 c:/ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb

    我使用一键安装程序将 Ruby 1 9 2 安装到 c ruby192 它没有设置任何路径 因此我将其设置为在路径的最开头包含 c ruby192 但是当它在某些事情上出错时 对于 Rails 3 0 路径会显示 Error message
  • 为什么模除法 (%) 只适用于整数?

    我最近遇到了an issue https stackoverflow com questions 6091837 sin and cos are slow is there an alternatve 6091846 6091846使用模除
  • ag grid sizeColumnsToFit 对于列不起作用

    我使用了 ag grid ng2 并尝试应用 sizeColumnsToFit 例如 如果有 4 列 那么它应该自动调整大小并适合网格的宽度 gridOptions api sizeColumnsToFit 不起作用 var gridOpt
  • 如何在 Silex 中使用“渲染”在 Twig 中插入控制器

    它应该在 Silex 中与 symfony twig bridge 一起工作吗 render controller MyController 现在我有这样的消息 Twig Error Syntax 函数 控制器 不存在于 中 您可以这样使用
  • 泛型类的静态成员是否与特定实例相关?

    这更像是一个文档而不是一个真正的问题 这似乎还没有得到解决 除非我错过了 所以这里是 想象一个包含静态成员的泛型类 class Foo
  • 使用 node-soap 创建 SOAP Web 服务

    我遵循了 git repo 的这个例子 https github com vpulim node soap https github com vpulim node soap 问题1 我已经创建了一个服务器 是否需要在回调中创建服务器 据我
  • .NET Core HttpRequest 标头优先级是什么?

    目前我正在做一个http请求发送任务 我知道我们有不同的方法来向请求添加标头 HttpClient DefaultRequestHeaders HttpRequestMessage Headers HttpContent Headers 如
  • Django-1.3 beta 的问题

    伙计们 我非常热衷于学习 django 并在 Django 1 2 上学习了一些 但后来我安装了 1 3 版本 直到我使用命令 python manage py runserver 运行服务器为止 它给出了一个巨大的错误 我想不出解决这个问
  • 粒子系统的性能

    情况 我使用以下技术使用 JavaFX 创建了一个粒子系统 每个粒子都是一个 ImageView 其中包含一个具有径向渐变的 Image 粒子处理循环是一个AnimationTimer 其中粒子列表通过列表的stream parallel
  • Bukkit 传送 - nullPointerException

    我正在尝试使用以下代码将用户传送到他们自己的领域 EventHandler public static void onPortalTravel PlayerPortalEvent event throws Exception if even
  • 屏幕截图中的模板匹配

    我是 Python 新手 但想学一点 所以我决定创建一个程序 与桌面输入的模板匹配 有人能帮忙吗 如何编写与桌面流匹配的模板 import time import cv2 import mss import numpy template c
  • Webpack:Webpack 内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 据我所知 Webpack 是一个用于组织项目中资产的工具 不过 我不明白它内部是如何工作的 看起来有点神奇 是否有某种运行时引擎来解析
  • 可以使用实体框架迁移将 DateTime 字段默认为 GETDATE() 吗?

    我将 EntityFramework Migrations Beta 1 添加到现有的 Code First 应用程序中 该应用程序正在经历一些更改 对于迁移功能以及对我从代码优先 API 生成的表进行更多微调 并遇到 GETDATE 设想