要するに、XMLデータを取得してテーブルに格納しようとしています。私に問題を与えて構造が現在そうのようになります。このことから同じオブジェクト構造から同じテーブル内に複数の行を生成する
<Event>
<PhaseOne>...</PhaseOne>
<PhaseTwo>...</PhaseTwo>
<PhaseThree>...</PhaseThree>
<EventID>12345</EventID>
<EventDate>09/09/09</EventDate>
</Event>
最終結果は私のイベント・テーブルで3行(各<Phase>
に1つ)です。各行は、それぞれ<Phase>
要素内のデータを必要とするだけでなく、<EventID>
などの親レベル値も必要とします。
XMLをデシリアライズするためにXSD.exe
の生成クラスがありますが、正しい結果を生成するためにEFコードの最初のマッピングを設定する方法が失われています。
それぞれの<Phase>
クラスを同じテーブルにマップするだけで、親レベルの値(<EventID>
)をその行のどのようにマップするかわかりません。
残念ながら、私はXMLまたはテーブルスキーマを変更できません。
あなたの提案はすべて明白です。私は、EFマッピングを使用して、自分の子クラス内の上位レベルの値にアクセスできることを明確にすることを探していました。少なくとも、私はこれらの構造体を '[XmlIgnore]'で追加し、より論理的な選択肢である手動でデシリアライズ後にそれらを移入することができます。 –
はい、それは私が考えなかった第四の選択肢になります。 –