Linq查询从表中选择数据并加入2个表

时间:2014-06-30 07:54:48

标签: c# linq

我正在尝试select表中的所有内容,然后与另外两个表进行连接,我只需要一些列。最终列表将填入DevExpress GridControl。我从中获取数据的主表包含以下列:

Id | ScheduleId | AccountId | Description

我可以轻松地从此表中选择所有内容并返回。这是我的清单:

public IList<StatusDescription> getStatusDescription()
{
    var listOfItems = from e in context.StatusDescription select e;
    return listOfItems.ToList<StatusDescription>();
}

其他两个表是时间表和帐户,它们如下所示:

Id | ScheduleName | DateFrom | DateTo

Id | AccountName | AccountCode

我想加入DateFrom表中的DateToSchedule以及AccountCode表中的Account。是否有可能将所有内容整合到一个列表中。我可以轻松地将其绑定到GridControl

2 个答案:

答案 0 :(得分:3)

var listOfItems = from e in context.StatusDescription
                  join s in context.Schedules on e.ScheduleId equals s.Id
                  join a in context.Accounts on e.AccountId equals a.Id
                  select new 
                  {
                      Description = e.Description,
                      ScheduleStart = s.DateFrom,
                      ScheduleEnd = s.DateTo,
                      AccountCode = a.AccountCode
                  }

答案 1 :(得分:0)

var Query = from p in context.StatusDescription select new { p.Id, p.Description, p.Schedule.DateFrom, p.Schedule.DateTo, p.Account.AccountCode };

希望有所帮助