2012-03-12 50 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