当前位置:  开发笔记 > 数据库 > 正文

Sql Server(实体框架):created_at,updated_at Columns

如何解决《SqlServer(实体框架):created_at,updated_atColumns》经验,为你挑选了1个好方法。

我想我应该提一下,我正在尝试让Entity Framework\SQL服务器做一些我以前来自Rails的东西.我真的只想知道在数据库中插入/更新的记录具有自动created_at和updated_at列值的"最佳"方法.

现在我已经迷上了ObjectContext.SavingChanges事件,事情进展顺利.在我编写并测试了我的代码之后,我意识到可能有更好或更快的方法来执行此操作.



1> Friend Of Ge..:

一种方法是使用insert/update触发器将created_at和updated_at列设置为当前时间.

插入触发器将是这个样子:

CREATE TRIGGER [dbo].[inserted_myTable] ON [dbo].[myTable] AFTER INSERT
AS 
BEGIN
    SET NOCOUNT ON;
    UPDATE [dbo].[myTable] Set AdmitDateTime = GetDate() where pkid in (SELECT pkid FROM Inserted)
END


更新触发器会是这个样子:

CREATE TRIGGER [dbo].[updated_myTable] ON  [dbo].[myTable] AFTER UPDATE
AS 
BEGIN
    SET NOCOUNT ON;
    UPDATE [dbo].[myTable] Set AdmitDateTime = GetDate() where pkid in (SELECT pkid FROM Inserted)
END


触发方法的一个优点是时间/日期将始终在同一时区.另一个优点是,如果有人在您的应用程序之外修改数据库记录,则字段仍会更新.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有