问题是我在本地sqlite的CreatedAt
数据类型中有2列UpdatedAt
和text
,在服务器上,这两列是datetimeoffset
数据类型。
[当我使用天蓝色的MobileServiceClient
插入/更新任何记录时,除这两列外,所有内容都进入数据库,从而产生NULL
值。
类似地,如果我使用SQLite
连接来更新这些列,它会更新记录。但是,当我同步时,azure不会在服务器上获取这两列的值。
我尝试过的事情:
MobileServiceClient
插入默认日期和时间为01/01/0001我在理解此服务如何在本地和服务器上处理数据时遇到麻烦。有帮助吗?
在服务器上创建表时,它用来设置这两列以自动获取值,而不是从客户端填充。
列的DDL看起来像这样:
[createdAt] datetimeoffset(3) NOT NULL DEFAULT (CONVERT([datetimeoffset](3),sysutcdatetime(),(0))),
[updatedAt] datetimeoffset(3) NULL,
并且有一个updateAt的触发器:
CREATE TRIGGER [DbName].[TR_TableName_InsertUpdateDelete] ON [DbName].[TableName]
WITH EXECUTE AS CALLER
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
UPDATE [DbName].[TableName] SET [DbName].[TableName].[updatedAt] = CONVERT (DATETIMEOFFSET(3), SYSUTCDATETIME())
FROM INSERTED
WHERE INSERTED.id = [DbName].[TableName].[id]
END
GO