1

このコードは、私のデータ層のサンプル部分です...

using (DataContext db = new DataContext(DBHelper.GetConnectionString()))
        {
          var result = from item in db.GetTable<Table1>()
                       select new { item};

          foreach (var obj in result)
                   {
                    Table1 retVal = new Table1();
                    retVal = obj.item;
                     List<Table2> tbl2List = new Table2Data().SelectTable2(retVal.Table2ID);
                    foreach (Table2 tbl in tbl2List)
                        {
                            retVal.Table2 += tbl;
                        }
                    retValList.Add(retVal);
                    }
}

だから、私は DataContext ブロックを持っています、私はこの方法でテーブルを取得します

db.GetTable<Table1>()

私の特定のアーキテクチャのため...

foreach の最初のループで、メイン オブジェクトに次のコードを入力します。

Table1 retVal = new Table1();
                    retVal = obj.item;

retVal は私の戻り値です...

私の多対一の関係では、メインループで、毎回データベースに接続し、データをフェッチしてオブジェクトを埋めます...

このコード:

List<Table2> tbl2List = new Table2Data().SelectTable2(retVal.Table2ID);
                    foreach (Table2 tbl in tbl2List)
                        {
                            retVal.Table2 += tbl;
                        }

これが良くないことはわかっていますが、これが私のやり方です..

そして今、私の主な質問は次のとおりです。

この多対一の関係をどのように処理できますか...

4

1 に答える 1

0

悲しいことに、私は Linq-To-SQL の代わりに EF を使用することを好みます ...

var result = from item in db.Table1
                           .Include(a=> a.Table2)
                   select new { item};

質問がある場合は、お気軽に

于 2013-10-15T13:53:22.777 に答える