有人能解释一下为什么这段代码会导致错误吗?
<asp:EntityDataSource ID="EntityDataSource1" runat="server"
ContextTypeName="bookingModel.bookingEntities"
EntitySetName="t_sessionSet"
Select="it.[t_session_id], it.[t_session_datetime], it.[t_session_location], it.[t_session_active], it.[t_session_notes], it.[t_session_trainer]"
GroupBy="it.[t_session_datetime]" >
</asp:EntityDataSource>我得到的错误是:“标识符' it‘无效,因为它既没有包含在聚合函数中,也没有包含在GROUP BY子句中。”
发布于 2011-04-01 01:20:43
在Select子句中,您不能使用不在GroupBy子句中使用的属性。您需要在Select子句中省略除t_session_datetime之外的所有其他属性,或者将它们添加到GroupBy子句中,或者对它们应用聚合函数-例如Count、Min、Max、Sum等。然后,您的Select子句可能如下所示:
Select="Min(it.[t_session_id]) AS MinId,
it.[t_session_datetime],
Min(it.[t_session_location]) AS Location,
Min(it.[t_session_active]) AS Active,
Min(it.[t_session_notes]) AS Notes,
Min(it.[t_session_trainer]) AS Trainer"如果这是一个布尔属性,我不确定这是否适用于Active。您可以在Entity SQL here中找到可用的聚合函数列表。
https://stackoverflow.com/questions/5503547
复制相似问题