在linqc#中使用GroupBy错误
本文关键字:GroupBy 错误 linqc# | 更新日期: 2023-09-27 18:17:47
我想只显示一次相同的列值,为此我使用linq GroupBy
函数,但它给出编译时错误,我正在分享我的代码,请指导我,谢谢。
viewModel.TicketDetails = db.TicketDetails.OrderByDescending(c => c.TicketDetailId)
.Include(c => c.JunkPart).Include(c => c.Part).ToList()
.GroupBy(c => c.GenericOrderId).Select(c => c.FirstOrDefault());
错误是:
不能隐式转换类型"System.Collections.Generic"。IEnumerable'到' system . collections . generic . iccollection '。存在显式转换(您是否缺少强制类型转换?)
您的查询返回System.Collections.Generic.IEnumerable<Entities.TicketDetail>
,但viewModel.TicketDetails
是ICollection<TiekctDetail>
。错误信息告诉您。
用显式强制转换修复:
viewModel.TicketDetails = db.TicketDetails
.OrderByDescending(c => c.TicketDetailId)
.Include(c => c.JunkPart)
.Include(c => c.Part).ToList()
.GroupBy(c => c.GenericOrderId)
.Select(c => c.FirstOrDefault())
.ToList(); //<--- Add this
或者,您可以将viewModel.TicketDetails
的类型更改为IEnumerable