1

谁能解释为什么这段代码会导致错误?

<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 子句中。”

4

1 回答 1

2

Select子句中,您不能使用未在子句中使用的属性GroupBy。您要么需要省略除t_session_datetimeSelect 子句之外的所有其他属性,要么将它们添加到 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 中可用的聚合函数列表。

于 2011-03-31T17:20:43.230 回答