Azureアプリケーションサービスのモバイルバックエンドサービスでは、REST API要求はTableController実装によって処理されます。これらのメソッドは、クライアントSDKで使用可能な対応するメソッドを使用して呼び出すことができます。だから、私は特定のエンティティを照会し、クライアント側からステータスを更新することができます。Azure App Service - テーブルコントローラからのオブジェクトの更新
しかし、サーバー側または同じコントローラ内でそれらを呼び出す方法はありますか?例えば、私は特定のtodoItemを照会し、アイテム
- 使用する検索(ID)のように、ここでいくつかのカスタムメソッドからそのステータスを更新する場合、item)
ここでは、UpdateAsync(id、patch)メソッドを呼び出すためにTodoItemのDeltaオブジェクトを作成する方法がわかりません。
public class TodoItemController : TableController<TodoItem>
{
protected override void Initialize(HttpControllerContext controllerContext)
{
base.Initialize(controllerContext);
initrackerserviceContext context = new initrackerserviceContext();
DomainManager = new EntityDomainManager<TodoItem>(context, Request);
}
// GET tables/TodoItem
public IQueryable<TodoItem> GetAllTodoItems()
{
return Query();
}
// GET tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public SingleResult<TodoItem> GetTodoItem(string id)
{
return Lookup(id);
}
// PATCH tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task<TodoItem> PatchTodoItem(string id, Delta<TodoItem> patch)
{
return UpdateAsync(id, patch);
}
// POST tables/TodoItem
public async Task<IHttpActionResult> PostTodoItem(TodoItem item)
{
TodoItem current = await InsertAsync(item);
return CreatedAtRoute("Tables", new { id = current.Id }, current);
}
// DELETE tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task DeleteTodoItem(string id)
{
return DeleteAsync(id);
}
}
ありがとうございます。私はこれを試してみます。 –
私の答えで説明したようにTableController.ReplaceAsync()を使う方が良い – Artemious
ReplaceAsync()メソッドは例外を正しく処理するので、EFコンテキストで直接作業することはお勧めしません。 – Artemious