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

可悲的是,我更喜欢使用 EF 而不是 Linq-To-SQL ...

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

如果您对此有疑问,请随时

于 2013-10-15T13:53:22.777 回答