2

同様の問題を抱えている最大数の人々に対応するために、私の問題を一般化しました。

public class Table1 {
    [AutoIncrement]
    public Int32 Id { get; set; }
    [Index(Unique = true)]
    public string FieldA { get; set; }
    public string FieldB { get; set; }
    public string FieldC { get; set; }
}

public Table2 {
    [AutoIncrement]
    public Int32 Id { get; set; }
    [Index(Unique = true)]
    public Table1 FieldA { get; set; }
    public DateTime FieldB { get; set; }
    public int FieldC { get; set; }
}

public Table3 {
    [AutoIncrement]
    public Int32 Id { get; set; }
    [Index(Unique = true)]
    public List<Table2> FieldA { get; set; }
    public List<Table1> FieldB { get; set; }
}

public Table4 {
    [AutoIncrement]
    public Int32 Id { get; set; }
    [Index(Unique = true)]
    public int FieldA { get; set; }
    [References(typeof(Table3))]
    public int Table3_id { get; set; }
    [References(typeof(Table2))]
    public int Table2_id { get; set; }
}

ListTable4 の完全な情報を含むデータを入力するにはどうすればよいですか? つまり、参照されるテーブルの各フィールドの値と、それらの参照されるテーブルを含める

また、JSON シリアル化から単一の CRUD フォームを作成する方法にも興味があります。これにより、Table3、Table2、および Table1 の CRUD フォームをネストするまったく新しい Table4 エントリを作成できます。

助けてくれてありがとう

4

1 に答える 1

1

1 つのクエリで複数のテーブルから読み取るには、返された結果セットと一致する Merged Poco にマップされた SQL JOIN を使用する必要があります。例については、この回答の Shipper Examples を参照してください。

https://stackoverflow.com/a/8617860/85785

于 2012-05-15T02:49:13.127 に答える