0
데이터베이스 첫 번째 모델로 내 XamarinForm에서 AzureMobileClient를 사용자로 보려고합니다. 지금은 오프라인 동기화를 사용하지 않습니다. 그래서 난 내 AZURE SQL DB에 테이블을 작성하려면이 스크립트를 사용AzureMobileClient DatabaseFirst 수동으로 데이터 테이블 생성 실패?
CREATE TABLE [dbo].[TodoItems] (
-- This must be a string suitable for a GUID
[Id] NVARCHAR (128) NOT NULL,
-- These are the system properties
[Version] ROWVERSION NOT NULL,
[CreatedAt] DATETIMEOFFSET (7) NOT NULL,
[UpdatedAt] DATETIMEOFFSET (7) NULL,
[Deleted] BIT NOT NULL,
-- These are the properties of our DTO not included in EntityFramework
[Text] NVARCHAR (MAX) NULL,
[Complete] BIT NOT NULL,
);
CREATE CLUSTERED INDEX [IX_CreatedAt]
ON [dbo].TodoItems([CreatedAt] ASC);
ALTER TABLE [dbo].[TodoItems]
ADD CONSTRAINT [PK_dbo.TodoItems] PRIMARY KEY NONCLUSTERED ([Id] ASC);
CREATE TRIGGER [TR_dbo_TodoItems_InsertUpdateDelete] ON [dbo].[TodoItems]
AFTER INSERT, UPDATE, DELETE AS
BEGIN
UPDATE [dbo].[TodoItems]
SET [dbo].[TodoItems].[UpdatedAt] = CONVERT(DATETIMEOFFSET,
SYSUTCDATETIME())
FROM INSERTED WHERE inserted.[Id] = [dbo].[TodoItems].[Id]
END;
하늘빛에서 제공하는 샘플 ToDoItem을 기준으로합니다. 어떤 버그없이 GetAllItems를 할 수 있습니다 (테이블은 지금 비어 있습니다). 나는 나의 푸른 백엔드에이 오류가있어 항목을 삽입 할 때 : 자동으로 돌봐
{[Message, The operation failed with the following error: 'Cannot insert the value NULL into column 'CreatedAt', table 'TechCenterCentaur.dbo.TodoItems'; column does not allow nulls. INSERT fails.The statement has been terminated.'.]}
일반적으로 하늘빛을 가정한다?
TodoItem cl = new TodoItem();
cl.Name = "Test";
await _todoTable.InsertAsync(cl);
호출
잘에만 테스트 및 다른 모든 필드가 null 인을 포함하는 ToDoItem을 함께 백엔드로 구성되어 있습니다난 그냥 내 XF 코드에 그렇게. 백엔드에서 예외가 발생했습니다.
public async Task<IHttpActionResult> PostTodoItem(TodoItem item)
{
try
{
TodoItem current = await InsertAsync(item); //crash here
return CreatedAtRoute("Tables", new { id = current.Id }, current);
}
catch (System.Exception e)
{
throw;
}
}
의견이 있습니까?