【问题标题】:How to handle this code in Many-One in linq如何在 linq 中的多一中处理此代码
【发布时间】:2013-09-21 06:47:26
【问题描述】:

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

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

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

现在我的主要问题是:

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

【问题讨论】:

    标签: c# linq many-to-one


    【解决方案1】:

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

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

    如果您对此有任何疑问,请随意

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-22
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多