【发布时间】:2010-12-30 19:43:47
【问题描述】:
我正在使用 Entity Framework 进行我的第一个项目,并且在使用 EntityDataSource 和 ListView 显示高级信息时遇到了一些困难。
例如,给定两个实体:
物品
名称
价格
订购
号码
项目
我想显示所有订单的列表,其中一列包含订单中的商品总数,一列包含订单中所有商品的价格总和。
我正在使用如下配置的 EntityDataSource:
<asp:EntityDataSource ID="eds" runat="server" ConnectionString="name=NDSEntities"
DefaultContainerName="NDSEntities" EnableFlattening="False" Include="Items"
EntitySetName="Orders"></asp:EntityDataSource>
在ListView的ItemTemplate中,我可以写订单号如下:
<%# Eval("Number") %>
我不知道如何显示订单中的商品数量。我尝试在 EntityDataSource 的 select 语句中使用 Items.Count() 函数,但这不起作用。最终我发现我可以在我的 ItemTemplate 中执行以下操作:
<%# Eval("Items").Count() %>
现在我被困在试图获得项目的总和。我被困在这里。我尝试过使用
<%# Eval("Items").Sum(Function(i) i.Price)%>
但我收到以下错误:
未找到类型“EntityCollection(Of Item)”的公共成员“Sum”。
这让我很困惑,因为我知道 Sum 是 EntityCollection(Of ) 的一种方法。
我的两个问题如下:
我的项目计数是否正确?
我应该如何获取商品价格的总和?
【问题讨论】:
标签: asp.net vb.net entity-framework data-binding