私のteam
オブジェクトは次のとおりです。select
ステートメントを使用してメンバーのみを取得しようとしています。私が抱えている問題は、結果が得られていますが、結果は「フラット」なので、POCOオブジェクトにマッピングされていないため、位置が失われています。サブオブジェクトを持つDocumentDb SELECT
私team
オブジェクトは、次のようになります。
{
id: 123,
name: "My Team",
members: [
{
id: 789,
name: "John Smith",
position:
{
id: 444,
name: "Manager"
}
},
{
id: 987,
name: "Jane Doe",
position:
{
id: 222,
name: "Director"
}
}
]
}
私select
文は次のようになります。
SELECT m.id, m.name, m.position.id as positionId, m.position.name as positionName
FROM Teams t
JOIN m IN t.members
WHERE t.id = 123
、私は上記のselect文を実行したときに、私は以下を示して何を取得していますメンバーのオブジェクト形状がPOCOオブジェクトと一致しないため、位置情報が消えます。
[
{
id: 789,
name: "John Smith",
positionId: 444,
positionName: "Manager"
},
{
id: 987,
name: "Jane Doe",
positionId: 222,
positionName: "Director"
}
]
私のC#POCOオブジェクトの形状は、JSONオブジェクトに一致します。だから、私はMemberオブジェクト内にPositionオブジェクトを持っています。
メンバーをデータベースに登録するにはどうすればよいですか?
更新日: select
ステートメントを次のように変更してうまくいきました。これで、私のPOCOオブジェクトの正確な形状が自動的にわかります。
私は既にDAOオブジェクトを使用し、DALとドメイン間のマッピングを処理しています。私は常にDocumentDbからDAOオブジェクトを読んで、シェイプを正しく取得することについて心配する必要はありません。とにかく、私は解決策を見つけて元の投稿を更新しました。それは明らかな解決策でした。なぜ私がそれを早く考えなかったのか分かりません。 – Sam