2013-09-21 21 views
1

此代碼是我用數據層的樣品部分...如何處理在許多酮該代碼LINQ

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的是我的返回值...

對於我的很多,一個關係,在主迴路,我每次連接時DB並獲取數據來填充對象...

此代碼:

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

我知道這樣不好,但是這是我的方式..

現在我的主要問題是:

我該如何處理這麼多,一個關係...

回答

0

可悲的是,我更喜歡使用EF而不是LINQ到SQL ...

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

如果你有問題要做到這一點,感覺自由

相關問題