如何通过EntityFrameworkCore实现列自动生成并实时跟踪记录修改?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1593个文字,预计阅读时间需要7分钟。
注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存在变动。设计数据库时,若需要添加跟踪记录的列,可随时进行修改,包括何时更新以及谁进行的更新。例如,您可能需要添加更新时间和更新者列。
注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存在变动。
当您设计数据库时,有时需要添加列以跟踪记录何时更改,以及谁进行了更改。例如,您添加以下列:
CreatedAtCreatedByLastUpdatedAtLastUpdatedBy
您可以轻松地使用默认值和触发器来处理CreatedAt和LastUpdatedAt列。老实说,创建触发器是件无聊的事情,你也不想自己做。此外,很难设置用户名,因为它是应用程序的信息;实际上,在Web程序的上下文中,它们只是连接到数据库的一个用户,因此,您无法使用数据库中CURRENT_USER函数设置跟踪列的值。
当然,您不想访问这个属性。相反,您希望 Entity Framework 为您自动执行,所以,解决的办法是调用SaveChanges或SaveChangesAsync方法之前自动设置这些属性的值。
本文共计1593个文字,预计阅读时间需要7分钟。
注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存在变动。设计数据库时,若需要添加跟踪记录的列,可随时进行修改,包括何时更新以及谁进行的更新。例如,您可能需要添加更新时间和更新者列。
注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存在变动。
当您设计数据库时,有时需要添加列以跟踪记录何时更改,以及谁进行了更改。例如,您添加以下列:
CreatedAtCreatedByLastUpdatedAtLastUpdatedBy
您可以轻松地使用默认值和触发器来处理CreatedAt和LastUpdatedAt列。老实说,创建触发器是件无聊的事情,你也不想自己做。此外,很难设置用户名,因为它是应用程序的信息;实际上,在Web程序的上下文中,它们只是连接到数据库的一个用户,因此,您无法使用数据库中CURRENT_USER函数设置跟踪列的值。
当然,您不想访问这个属性。相反,您希望 Entity Framework 为您自动执行,所以,解决的办法是调用SaveChanges或SaveChangesAsync方法之前自动设置这些属性的值。

