テーブルには、データの読み込みに関する情報が保持されます。その読み込みはバッチに変更されたものです(完全な名前ではないかもしれません)。ステップとセットは、すでに定義されているメタテーブルであり、将来そのコンテンツが更新されない可能性があります(少なくとも古いものは削除されません)。セットとは、データのタイプの定義です。たとえば、「これまたはそれに合わせたCSVファイル」です。いくつかのセットが足を引っ張ります。いくつかのステップでバッチを作成します。セットを複数のステップに結び付けることができるので、セットを再利用することができます。実際の(ロードされた)データは他のテーブルに格納されますが、この特定のタスクでは重要ではありません。 ネストされたコレクションを持つ複雑なオブジェクトをまとめる
Iこの(簡体字)DBの構造を有する:public class JoinedModel
{
public Batch Batch { get; set; }
public IEnumerable<Step> Steps { get; set; }
}
public class Step
{
public int StepId { get; set; }
public string Description { get; set; }
public IEnumerable<Set> Sets { get; set; }
}
public class Set
{
public int SetId { get; set; }
public string Type { get; set; }
public string EventCode { get; set; }
}
:
(。ログテーブルが外部キー制約を持っていませんが)、私はこのような何かを取得する必要があり、そこから
Step
オブジェクトのコレクションを1つのBatch
に追加する方法。それぞれに適切なSet
オブジェクトのコレクションがあります(出力セットクラスにはイベントコードがあります。 Logs
およびEvents
テーブルから得られる)?
複数の「from」を試してみましたが、グループ化していますが、解決策を見つけ出すのには良いことではありません。 1つの明細書からこのようなことを行うことは可能ですか、それともBatch
を別に選択してから残りを取る必要がありますか?どのように?
DBデザインは変更できません。
私は試みのいずれかの種類が表示されていない「.....からしようとしました複数の」」。 EFソリューションが必要ですか?純粋なSQL? LinQからSQLへ? –
タグで(それが十分だと思った)、LINQ to SQL。試行錯誤が行われましたが、実際には何も意図どおりに動かず、質問に追加するのが「助けて」代理人になるかどうかわかりません。 – Mars
あなたのモデルが理にかなっているかどうかはわかりません。いくつかのセットが一歩前進すると言いますが、あなたのモデルではいくつかのステップもセットになります(そして多対多の関係はマッピングテーブルで記録されます)!また、ログとステップの間には1対1の関係があり、ログとセットの間にも存在します。つまり、複数のセットを持つステップがないか、複数のステップを持つセットがログ・テーブルに入力できません。私はあなたが描画ボードに戻る必要があるかもしれないと思う - またはあなたが達成しようとしているものについてもう少し具体的なので、私たちはデザインに助言することができます。 – Steve