如何在 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;
}
我知道这不好,但这是我的方式..
现在我的主要问题是:
我该如何处理这种多一关系...
可悲的是,我更喜欢使用 EF 而不是 Linq-To-SQL ...
var result = from item in db.Table1
.Include(a=> a.Table2)
select new { item};
如果您对此有疑问,请随时