gpt4 book ai didi

asp.net - 将 Eval 与 Sum() 和 Count() 与 ASP.Net EntityFramework 和 ListView 一起使用

转载 作者:行者123 更新时间:2023-12-04 06:38:39 24 4
gpt4 key购买 nike

我正在使用 Entity Framework 处理我的第一个项目,并且在使用 EntityDataSource 和 ListView 显示高级信息时遇到了一些困难。

例如,给定两个实体:

项目
姓名
价钱

订购
数字
Items <---- 导航属性到包含在订单中的项目

我想显示所有订单的列表,其中包含订单中商品总数的列和订单中所有商品价格总和的列。

我使用的 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)%>

但我收到以下错误:

Public member 'Sum' on type 'EntityCollection(Of Item)' not found.



这让我很困惑,因为我知道 Sum 是 EntityCollection(Of ) 的一种方法。

我的两个问题如下:

我是否正确获得了项目计数?

我应该如何获得物品价格的总和?

最佳答案

I know that Sum is a method of EntityCollection(Of )



No it isn't .

这是在 Enumerable 上定义的扩展方法.您可能没有包含 System.Linq .

关于asp.net - 将 Eval 与 Sum() 和 Count() 与 ASP.Net EntityFramework 和 ListView 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com