如何在ASP.NET C#中使用LINQ查询平均值和分组

王榛

我是C#的初学者。我对SQLstatement很熟悉,但是对LINQ并不满意。现在,我需要使用LINQ语句查询booking.PackageIdAvG(booking.Rating)Grouping by booking.Package(我需要根据不同显示平均评分PackageID)。

这是我的预订表

我想使用列表视图显示所有信息

   <asp:ListView 
   ID="lvBookings" runat="server" 
   DataKeyNames="BookingId" 
   ItemType="TravelPlannerSystem.Models.Booking" 
   SelectMethod="GetFeedbacks">

这是我的代码背后 GetFeedbacks

public IQueryable<Booking> GetFeedbacks()
{
    var db = new TravelPlannerContext();
    var query = from booking in db.Bookings
              group booking by booking.PackageId into grouping
              select new {
              PackId = grouping.Key,
              AverageRating = grouping.Average(ed => ed.Rating)
              };
    return query;
}

它一直给我错误,我已经在线搜索了2天。我真的不知道该如何做出改变。有人可以帮忙吗?

吉拉德·格林(Gilad Green)

原因是您的函数期望返回值为,IQueryable<Booking>但您正在返回IQueryable<AnonymousType>:您的投影(select零件)正在创建一个new {},它是带有PackId的匿名类型AverageRating

此新类型不是该Booking类型,因此是失败的原因。

您应该做的是,您不能返回匿名类型(并且我认为在此处使用动态方法不是一个好习惯)是创建一个新类,然后:

public IQueryable<YourClass> GetFeedbacks()
{    
    return from booking in (new TravelPlannerContext()).Bookings
           group booking by booking.PackageId into grouping
           select new YourClass // Now you are projecting the expected type
           {
               PackId = grouping.Key,
               AverageRating = grouping.Average(ed => ed.Rating) ?? 0
           };
}

查看重定值和投影如何属于同一类型

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ASP.NET中使用<%%>?

来自分类Dev

如何在asp.net中使用<%%>?

来自分类Dev

如何在 asp.net MVC 中使用 Linq、C# 访问连接表中的列

来自分类Dev

如何在ASP.net中使用SQL查询的结果?

来自分类Dev

如何在Asp.NET中使用C#自动生成和增加客户ID?

来自分类Dev

Linq和ASP.NET MVC:如何在join语句中使用“或”和“等于”

来自分类Dev

Linq和ASP.NET MVC:如何在join语句中使用“或”和“等于”

来自分类Dev

如何在.NET ASP C#中正确使用QueryString?

来自分类Dev

如何在Linq-to-SQL和asp.net中使用存储过程?

来自分类Dev

如何在asp.net C#中使用Ajax调用C#方法?

来自分类Dev

如何在C#中使用JSON.Net查询和枚举复杂的JSON对象

来自分类Dev

如何在ASP.NET MVC中使用Dache的CacheClient?

来自分类Dev

如何在ASP.net中使用ApplicationUserManager?

来自分类Dev

如何在ASP.NET MVC中使用部分视图?

来自分类Dev

如何在ASP.NET MVC中使用AngularJS?

来自分类Dev

如何在ASP.NET中使用标记声明对象

来自分类Dev

如何在ASP.NET Core应用中使用HttpClient

来自分类Dev

如何在ASP.NET Core中使用jquery

来自分类Dev

如何在ASP.NET MVC中使用ViewModels?

来自分类Dev

如何在asp.net中使用Telerik控件?

来自分类Dev

如何在asp.net中使用Page_Init

来自分类Dev

如何在ASP.NET网站中使用JMail组件?

来自分类Dev

如何在ASP.net控件中使用twitter bootstrap?

来自分类Dev

asp.net-如何在Sql中使用变量?

来自分类Dev

如何在ASP.NET 5中使用SignalR

来自分类Dev

如何在ASP.NET MVC中使用ViewModels?

来自分类Dev

如何在asp.net中使用Page_Init

来自分类Dev

如何在asp.net-vb中使用合并功能?

来自分类Dev

如何在Ajax asp .net中使用CommandArgument

Related 相关文章

热门标签

归档