7

StoreGeneratedPattern="Computed"在 type 的列上完美运行timestamp。但是您不能将 TimeStamp 显示为人类可读的形式。

因此,您无法向用户显示“此行已修改{TimeStamp}”,因为您根本无法将 SQL 时间戳解析为 DateTime。

现在我还可以为列创建计算列,DateTime这样我就不需要手动设置了吗? myEntity.LastModification = DateTime.Now

更不用说,如果某些用户真的想做坏事,只需更改他的计算机时间,这将很容易出错。

4

1 回答 1

1

是的,如此处所述:有没有办法为列指定默认值?我的数据库中的某些 DateTime 列设置为 getdate(),但 EF 不知道这些默认值

提炼:

...如果将 StoreGeneratedPattern 设置为 Identity(如果该值仅在插入时计算)或 Computed(如果在每次更新时计算),那么当您调用 SaveChanges 时,EF 将获取数据库中生成的值并将其带入返回更新您的对象...

编辑:要更新数据库服务器端修改日期,请遵循此答案https://stackoverflow.com/a/8461681/1679310Computed设置将重新加载

于 2012-12-14T09:32:54.040 回答