使用LINQ查询实体框架,我该如何进行连接?

时间:2012-04-26 15:38:37

标签: linq entity-framework linq-to-entities

我对EF和LINQ有些新意,每当我超越基础时,我开始对如何处理更高级的查询感到困惑。

enter image description here

在我的示例中,我尝试返回与用户关联的频道列表,其中包括用户拥有的报告数量。我已经得到了下面的查询,但我仍然坚持如何包含报告计数...任何帮助将不胜感激。

 var query = from c in _channelRepository.GetTable().Include("User")
                    where c.UserId == user.Id && c.IsActive == true
                    orderby c.Name
                    select c;

1 个答案:

答案 0 :(得分:1)

您可以通过创建包含所需属性的新类(POCO)来实现此目的。

例如

public class ChannelsWithCount
{
  public Channel Channel { get; set; }
  public User User { get; set; }
  public int? ReportsCount { get; set; }
}

var query = from c in _channelRepository.GetTable()
            where c.UserId == user.Id && c.IsActive == true
            orderby c.Name
            select new ChannelsWithCount
            {
               Channel = c,
               User = c.User,
               ReportsCount = c.User.Reports.Count(),
            }