entity-framework – EF Core:内置Created和Edited时间戳
发布时间:2020-12-16 09:33:13 所属栏目:asp.Net 来源:网络整理
导读:标题是不言自明的.是否有内置机制来支持Entity Framework Core中代码优先数据库中记录的Created和Edited时间戳? 类似于:Ruby on Rails迁移中的created_at和:updated_at.我找不到任何有关此问题的文件.如果没有现成的机制,是否有最佳实践如何实现这些列?
标题是不言自明的.是否有内置机制来支持Entity Framework Core中代码优先数据库中记录的Created和Edited时间戳?
类似于:Ruby on Rails迁移中的created_at和:updated_at.我找不到任何有关此问题的文件.如果没有现成的机制,是否有最佳实践如何实现这些列? 解决方法
如果没有一些返工,非EF核心解决方案不适用于EF Core.我想允许某些实体拥有以合理自动化方式更新的CreatedAt和LastModified时间戳.这就是我最终做的事情.
>定义了一个接口 – 我的模型可以继承的TimeStampedModel要求它们拥有我想要的时间戳: public interface TimeStampedModel { DateTime CreatedAt {get; set;} DateTime LastModified {get; set;} } >覆盖我的DbContext上的SaveChanges以查找新的或修改的模型,并适当地更新它们的时间戳: public override int SaveChanges() { var newEntities = this.ChangeTracker.Entries() .Where( x => x.State == EntityState.Added && x.Entity != null && x.Entity as TimeStampedModel != null ) .Select(x => x.Entity as TimeStampedModel); var modifiedEntities = this.ChangeTracker.Entries() .Where( x => x.State == EntityState.Modified && x.Entity != null && x.Entity as TimeStampedModel != null ) .Select(x => x.Entity as TimeStampedModel); foreach (var newEntity in newEntities) { newEntity.CreatedAt = DateTime.UtcNow; newEntity.LastModified = DateTime.UtcNow; } foreach (var modifiedEntity in modifiedEntities) { modifiedEntity.LastModified = DateTime.UtcNow; } return base.SaveChanges(); } 谁有更好的解决方案? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET成员资格getuserbyID
- asp.net – 通过嵌套母版页从内容页面访问body元素
- 可以将图像添加到ASP.NET按钮吗?
- asp.net-mvc – 到Spark还是不Spark?
- asp.net-mvc – T4MVC:如何使用说Url.Action?
- 实体框架 – 使用Azure表存储的Code First&Identity
- ASP.NET中读取XML文件信息的4种方法与示例代码
- 【Asp.Net MVC+EF+三层架构】详解(一)初见
- asp.net – UrlRewriting.Net模块IIS7等于Page.User == nul
- asp.net-mvc – ASP.NET MVC:将复杂类型绑定到选择
推荐文章
站长推荐
- asp.net-mvc – ASP.net身份在删除外部帐户后停止
- asp.net-mvc – ASP.NET MVC编辑器 – 模板/ UIH
- asp.net – 在设置了控件的选定值后运行Javascri
- asp.net-mvc-2 – 使用ASP.NET MVC 2时更好地保留
- asp.net – ProviderManifestToken’2008’与之前
- asp.net-mvc – 从控制器重定向初始化不工作
- asp.net – 为什么DropDownList.SelectedValue依
- 使用OneLogin和DotNetOpenAuth的ASP.Net单点登录
- ASP.NET Core 运行原理剖析
- asp.net-mvc-3 – 当不需要/需要使用AntiForgery
热点阅读