2012-03-12 54 views
3

我想获得至少有1个图表,项目和图表有1对多关系的项目。EntityDataSource其中关联计数> 0

我tryed这一点:

<asp:EntityDataSource ID="EntityDataSource1" ContextTypeName="Entities" 
EntitySetName="Items" Where="Count(it.ItemCharts) > 0" runat="server" /> 

,但我得到的错误信息:

规范聚合函数 'Edm.Count' 无过载与ARG兼容...

如何在不使用代码的情况下执行此操作?

感谢您的帮助!

+0

我发现了一个[类似的问题(http://stackoverflow.com/questions/6917481/how-to-add-计数小孩表在实体数据源),但它没有回答:/ – JoRouss 2012-03-12 18:56:44

回答

4

您应该使用EXISTS确定收集/联想是否为空:

<asp:EntityDataSource ID="EntityDataSource1" ContextTypeName="Entities" 
EntitySetName="Items" Where="EXISTS(it.ItemCharts)" runat="server" /> 
+0

工程!据我所知,如果我想要至少有两个图表的项目呢? – JoRouss 2012-03-13 12:10:50

+1

理论上你需要写'Where =“(SELECT COUNT(0)FROM it.Charts)> 2”',但它似乎不被支持。有关支持的比较,另请参阅[此表](http://msdn.microsoft.com/zh-cn/library/bb896323.aspx)。 – nemesv 2012-03-13 13:14:08