簡體   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