Era*_*aka 7 entity-framework entity-framework-4 entity-framework-4.1
我有一个表DateCreated和DateUpdated列,并使用Entity Framework将值插入/更新到数据库.
我需要该DateCreated列才能GetDate()在插入时获取SQL Server的值.
DateUpdated列值应始终使用GetDate()插入时的当前值更新并更新两者.
对于该DateCreated列,我已经设置StoreGeneratedPattern="Computed"并在SQL Server表上我将列的默认值设置为GetDate(),它可以正常工作.
对于DateUpdated列,我无法找到GetDate()每次更新条目时自动设置值的方法.仅在插入条目时才设置此值.
有人可以对此有所了解吗?
如果要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)