StoreGeneratedPattern="Computed"
works flawlessly on columns of type timestamp
. But you can't display a TimeStamp as a human-readable form.
So you can't show the user "This row was modified on {TimeStamp}
" because you simply can't parse a SQL Timestamp to DateTime.
Now can I also create computed columns for DateTime
columns so I don't need to set it manually?
myEntity.LastModification = DateTime.Now
Not to mention it would be quite error-prone, if some user really wanted to do something bad, by simply changing his computers time.
Yes, as described here: Is there a way to specify default values for columns? Some DateTime columns in my database are set to getdate(), but the EF is unaware of these default values
Extract:
...If you set the StoreGeneratedPattern to Identity (if the value is only computed on insert) or Computed (if it is computed on every update), then when you call SaveChanges the EF will get the value generated in the database and bring it back to update your object...
EDIT: to make the DB server side Modification date updated, follow this answer https://stackoverflow.com/a/8461681/1679310. Computed
setting will do the reload
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With