繁体   English   中英

__updatedAt未更新:Azure移动服务

[英]__updatedAt not updated: Azure Mobile Services

行更新时,Azure移动服务未更新__updatedAt字段。 这应该是自动发生的。 有什么可以解决的方法吗? 它以前是自动运行的,我不知道最近可能会发生什么变化。

我正在使用Android。

使用Mobile Service Azure门户创建表时,它会在表上创建一个触发器,该触发器将在创建或更新行时更新__updatedAt列。 触发器的DDL如下所示:

CREATE TRIGGER [(schema)].[TR_(table)_InsertUpdateDelete] ON [(schema)].[(table)]
WITH EXECUTE AS CALLER
AFTER INSERT, UPDATE, DELETE
AS
    BEGIN
        SET NOCOUNT ON;
        IF TRIGGER_NESTLEVEL() > 3 RETURN;

        UPDATE [(schema)].[(table)] SET [(schema)].[(table)].[__updatedAt] = CONVERT (DATETIMEOFFSET(3), SYSUTCDATETIME())
        FROM INSERTED
        WHERE INSERTED.id = [(schema)].[(table)].[id]
    END

以上是针对移动服务的。 较新的Mobile Apps Easy Tables稍有不同:该列名为updateAt,不带__,并且它们使用DATETIMEOFFSET(9)而不是(3)。

数据库或客户端应用程序中的字段是否未更新? 如果是数据库,则意味着有人更改了SQL触发器,因为这是更改字段的原因。

如果是移动客户端,请注意__updatedAt仅在服务器收到响应后才发送给客户端。 因此,如果您使用的是离线同步功能,则只需执行一次PushAsync。 如果您正在使用在线表,则在调用UpdateAsync之后,该表将位于修改后的对象中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM