实体框架默认值SYSDATETIMEOFFSET

时间:2016-04-15 08:02:39

标签: entity-framework

跟踪实体并在Entity Framework中的表定义中包含CreatedAt等列。

如何将列默认设置为系统日期时间偏移?

来自此实体的

EF添加迁移代码

    CreateTable(
    "dbo.Entity",
    c => new
        {
            Id = c.Int(nullable: false),
            CreatedAt = c.DateTimeOffset(nullable: false, precision: 7)
        })
    .PrimaryKey(t => t.Id)
    .Index(t => t.Id);

生成此C#:

    CREATE TABLE [dbo].[Entity] (
    [Id] [int] NOT NULL IDENTITY,
    [CreatedAt] [datetimeoffset](7) NOT NULL DEFAULT
    CONSTRAINT [PK_dbo.Entity] PRIMARY KEY ([Id])
)

哪个生成此SQL:

CreateTable(
    "dbo.Entity",
    c => new
        {
            Id = c.Int(nullable: false),
            CreatedAt = c.DateTimeOffset(nullable: false, precision: 7, defaultValueSql: "SYSDATETIMEOFFSET()")
        })
    .PrimaryKey(t => t.Id)
    .Index(t => t.Id);

1 个答案:

答案 0 :(得分:0)

将生成的迁移C#更改为此,生成的SQL是正确的。

{{1}}