【发布时间】:2013-06-06 16:39:12
【问题描述】:
我正在使用 Linqpad 连接到 Entity Framework 来形成我的 Linq 查询,它非常适合在无需运行您的应用程序的情况下查看您的结果.. 无论如何,我有一个事件表,它连接到一个 EventStudent 表。 EventStudent 表将为每个 Event 包含 0 到多个记录。我想返回活动日期和标题以及参加的学生人数。 EventStudent 表包含学生以及布尔“参加”字段。
通过这个查询,我获得了每个事件的所有事件数据和所有学生数据 - 这很好!
from ev in Events.Include("EventStudents")
where (ev.StartDate >= new DateTime(2012, 7, 1) && ev.StartDate <= new DateTime(2013, 6, 30))
orderby ev.StartDate descending
select ev
我想要的是事件信息和参加过的学生的 COUNT,所以我可以将其绑定到网格。 这是我尝试过的:
from ev in Events.Include("EventStudents")
where (ev.StartDate >= new DateTime(2012, 7, 1) && ev.StartDate <= new DateTime(2013, 6, 30))
orderby ev.StartDate descending
select new { ev.EventID, ev.StartDate, ev.Title, ev.EventStudents.Count() }
但我收到一个错误“匿名类型成员声明符必须是简单名称...”。好的,但是,我怎样才能让我的事件数据和学生人数都在一种类型中绑定到我的网格? 如果它很重要 - 网格有一个“选择”列,这就是包含事件 ID 的原因 - 它将隐藏在网格中。另外,网格将具有排序和过滤功能。 而且...如何从 Linq 查询中返回仅包含日期的日期(没有时间?)。
谢谢!
【问题讨论】:
标签: c# linq entity-framework-4