实体框架DateTime列 - GetDate()值插入

Era*_*aka 7 entity-framework entity-framework-4 entity-framework-4.1

我有一个表DateCreatedDateUpdated列,并使用Entity Framework将值插入/更新到数据库.

我需要该DateCreated列才能GetDate()在插入时获取SQL Server的值.

DateUpdated列值应始终使用GetDate()插入时的当前值更新并更新两者.

对于该DateCreated列,我已经设置StoreGeneratedPattern="Computed"并在SQL Server表上我将列的默认值设置为GetDate(),它可以正常工作.

对于DateUpdated列,我无法找到GetDate()每次更新条目时自动设置值的方法.仅在插入条目时才设置此值.

有人可以对此有所了解吗?

Jef*_*ata 7

如果要DateUpdated由数据库设置,可以使用触发器将值设置为getdate().我相信如果你设置StoreGeneratedPattern="Computed",EF也会获得触发器设置的值DateUpdated.

作为参考,你的触发器看起来像这样(你必须根据你的表的PK更新):

create trigger MyTable_UpdatedTrigger
on MyTable
for update
as
begin
    update t set DateUpdated = getdate()
    from MyTable t
        join inserted i on t.Id = i.Id
end
Run Code Online (Sandbox Code Playgroud)