我有一个 EntityDataSource 可以从 tblOrderFile 获取行数据,如下所示:
<asp:EntityDataSource ID="entityDataSourcePreorder" runat="server"
ConnectionString="name=iDBEntities"
DefaultContainerName="iDBEntities" EnableFlattening="False"
EntitySetName="tblOrderFiles"
Select="it.[pkOrderFileID], it.[fkOrderFileStatusID], it.[Filename], it.[CreateDate], it.[UserId]"
AutoGenerateWhereClause="True" EntityTypeFilter="" Where="">
我现在想修改它以返回子表 tblOrderFileItem 中的行数(带有实体集名称 tblOrderFileItems)。
我找到了一种通过添加 Include 指令来使 Count 工作的方法,如下所示:
<asp:EntityDataSource ID="entityDataSourcePreorder" runat="server"
ConnectionString="name=iDBEntities"
DefaultContainerName="iDBEntities" EnableFlattening="False"
EntitySetName="tblOrderFiles" Include="tblOrderFileItems"
AutoGenerateWhereClause="True" EntityTypeFilter="" Where="" >
</asp:EntityDataSource>
但我相信这是返回每个订单项的所有行的所有列。我只想要 Count 而不想将其余数据传递到网页。
我也尝试简单地将 it.tblOrderFileItems.Count 添加到 Select 语句中,但收到一条错误消息
“Count”不是“Transient.collection[MyDBModel.tblOrderFileItem(Nullable=True,DefaultValue=)]”的成员。要提取集合元素的属性,请使用子查询来迭代集合。