使用“代码优先”可以在表/模型中设置默认参数

本文关键字:模型 设置 参数 默认 代码 代码优先 使用 | 更新日期: 2023-09-27 17:57:49

使用EF6.1和代码优先流程,我首先设计我的类,然后使用迁移将它们迁移到我的DB。我类中的一个字段是"CreateDate",我希望DB在创建记录时将当前日期默认为该字段。

我已将字段设置为

 [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public DateTime DateCreated { get; set; }

但那不行。

有可能吗?

使用“代码优先”可以在表/模型中设置默认参数

是的,这是可能的,但并不容易。它需要使用迁移。

http://msdn.microsoft.com/en-us/data/jj591621

查看标题:自定义迁移

生成迁移代码后,可以对其进行修改以添加默认值。只要确保适当地写下等效的Down操作即可。

示例:

AddColumn("dbo.MyTable", "DateCreated", c => c.DateTime(nullable: false, defaultValueSql: "GetDate()"));