跟踪实体并在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);
答案 0 :(得分:0)
将生成的迁移C#更改为此,生成的SQL是正确的。
{{1}}