2017-11-02 4 views
0

私は、そのモデルに基づいてタイプemployeeのオブジェクトを取り込むコードを持っています。これをDocumentDBドキュメントに変換し、データベースにポストします。 変換はどのように行いますか?.Net CoreのDocumentDbドキュメントにオブジェクトを変換する

[HttpPost] 
     public async Task Post([FromBody]Employee employee) 
     { 
      using (_logger.BeginScope("Post employee")) 
      { 
       try 
       { 
        // convert employee to Document?? 
        await _documentDbRepository.CreateItemsAsync(document); 
       } 
       catch (Exception e) 
       { 
        _logger.LogError(e.Message); 
        throw; 
       } 

      } 
     } 
+0

'CreateItemsAsync'の署名は、明示的に' Document'を渡す必要がありますか?これは、あなたが実際のDocumentClient上に持っているいくつかのカスタム抽象であるように見えます。これは 'object'をちょっと入れて、デフォルトのJSONシリアル化を使ってCosmosに挿入することができます –

+0

CreateItemsAsyncはドキュメントを必要とします。タイプ 'オブジェクト'であり、これはドキュメントか、モデルに基づくカスタムオブジェクトのどちらであっても機能しますか? – DarkW1nter

+0

'_documentDbRepository'とは何ですか?あなたが上に構築したカスタムレイヤーのように聞こえます。それがドキュメントのために難しくコード化されているなら、あなたは瞬間を尊重しなければならないでしょう。通常のDocumentClientでは、ドキュメントだけでなく、あらゆるオブジェクトを受け入れることができます。 –

答えて

1

あなたがハードだけDocumentを受け入れるようにコード化された正規のコスモスライブラリの上にカスタムレイヤを使用しているようです。 Microsoftが提供するライブラリは汎用オブジェクトを挿入することができ、挿入時にデフォルトのJSONシリアル化を使用してDocumentに変換します。 Documentの代わりにObjectを受け入れるようにカスタムリポジトリの署名を変更すると、ブロックが解除されます。

関連する問題