如何在 linq 中的 Many-One 中处理此代码

本文关键字:处理 代码 Many-One 中的 linq | 更新日期: 2023-09-27 18:32:10

这段代码是我的数据层的示例部分......

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);
                    }
}
所以,我

有一个数据上下文块,我以这种方式获取表

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;
                        }

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

现在我的主要问题是:

我该如何处理这种多一关系...

如何在 linq 中的 Many-One 中处理此代码

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

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

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