StoreGeneratedPattern="Computed"
在timestamp
类型的列上完美运行。但是你不能将TimeStamp显示为人类可读的形式。
因此,您无法向用户显示“此行已在{TimeStamp}
上修改”,因为您无法将SQL时间戳解析为DateTime。
现在我还可以为DateTime
列创建计算列,这样我就不需要手动设置了吗?
myEntity.LastModification = DateTime.Now
更不用说如果某个用户真的想要通过简单地改变他的计算机时间来做坏事,就会非常容易出错。
答案 0 :(得分:1)
提取:
...如果将StoreGeneratedPattern设置为Identity(如果值仅在插入时计算)或Computed(如果在每次更新时计算),那么当您调用SaveChanges时,EF将获得在数据库中生成的值然后把它带回来更新你的对象...
编辑:要更新数据库服务器端修改日期,请按照此回答https://stackoverflow.com/a/8461681/1679310。 Computed
设置将执行重新加载