【问题标题】:API save new value and old value from the angularjsAPI从angularjs保存新值和旧值
【发布时间】:2016-03-17 13:36:25
【问题描述】:

我想构建功能,例如从客户端获取旧值和新值,并且我的 API 会将这两个值保存在单独的表中。 Exp:FirstName 是 aaa,LastName 是 bbb。用户更改 FirstName ccc 和 LastName ddd。然后当我在主表中更新相同的内容时,我想更新一个表,我可以在其中保存旧和新的值以备将来使用。 请建议我在 API2 中做同样事情的最佳方法

【问题讨论】:

    标签: javascript c# jquery angularjs


    【解决方案1】:

    不要认为它与angularjs 相关(更多关于database 设计)但无论如何,如果你想这样做,那么一种方法就是拥有一个新表,你可以保存 firstnamelastname 以及 timestamp。最近的时间戳将对应于最新的值。

    名字 |姓氏 |时间戳

    aaa             | bbb           | 201603171015

    ccc             | ddd           | 201603171045

    xyz             | pqr            | 201603181135

    这更像是维护版本历史记录,并且有许多替代方法可以实现相同的结果。

    【讨论】:

    • 感谢您的回复。数据库的观点很好,但我的问题是如何在 API 中获取这些值。当我从客户端(我使用 AngularJS)获得这些值时,我很容易将它们保存到数据库中。
    • 您的客户不需要发送旧值。这不是客户的责任。假设您有一个 API 来更新名字和姓氏。当您的客户端 (angularjs app) 使用新值调用此 API 时,您的 API 应查询数据库(或缓存)以获取现有值,然后如果更改名称,则应记录旧值
    • 仅适用于其文件的一种形式,但对于所有网站,我认为它没有价值。我想制作一个接受模块名称、键值对并插入它的全局方法。通过这样做,我们不应该为所有模块存储过程而烦恼。我希望你明白我的意思。
    • 有什么方法可以在 WebAPI 中使用 IOrderedDictionary。 ASP.Net 我们可以使用它来存储值。我的方法如下所示: Audit (string moduleName, string moduleId, IOrderedDictionary OldValues, IOrderedDictionary NewValues)
    • 我解决了这个问题。我做什么,我从客户端接受两个字典数组,然后根据键和值比较那里的值。如果相同的键值匹配,那么我不会将数据插入数据库,否则会调用插入方法到数据库。
    猜你喜欢
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多