c# - 根据条件对结果进行分组
问题描述
我正在尝试按“ SSN ”对结果进行分组。然后结果将循环显示在视图中。我对此很陌生,不确定解决此问题的正确方法是什么。我不确定我应该在这里显示多少代码。如果您想查看更多代码,请告诉我。请如果有人可以查看错误并提供一些帮助。
错误信息:
严重性代码描述项目文件行错误 CS0029 无法将类型“System.Collections.Generic.List>”隐式转换为“System.Collections.Generic.List”CardDistroE:\wwwroot\CardDistro\CardDistro\Controllers\CardsController.cs 119
CardController.cs
List<Card> QueriedBatchList;
DBEntities db = new DBEntities();
QueriedBatchList = db.Cards.Where(x => x.BatchID == null).GroupBy(x => x.SSN).ToList();
CardViewModel CardViewModel = new CardViewModel();
List<CardViewModel> CardDataList = QueriedBatchList.Select(x => new CardViewModel
{
CardID = x.CardID,
SSN = x.SSN,
PortID = x.PortID,
UserID= x.UserID,
Created= x.Created,
}).ToList();
CardViewModel.cs
public class CardViewModel
{
public int CardID { get; set; }
public string SSN { get; set; }
public int PortID { get; set; }
public Nullable<int> TransactionID { get; set; }
public int AddedUserID { get; set; }
public System.DateTime Created { get; set; }
public Nullable<int> BatchID { get; set; }
public virtual Card Cards1 { get; set; }
public virtual Card Card1 { get; set; }
public virtual Batch Batch { get; set; }
public virtual Port Port { get; set; }
public virtual Transaction Transaction { get; set; }
public virtual User User { get; set; }
}
解决方案
您应该Select
在分组后申请。您应该选择Card
实体集合。例如:
QueriedBatchList = db.Cards
.Where(x => x.BatchID == null)
.GroupBy(x => x.SSN)
.Select(x => x.FirstOrDefault())
.ToList();
此查询将分组并选择每个组Cards
的SSN
第一条记录。
推荐阅读
- python - Plotly scatter map value error for 'size' property
- c# - 有没有办法让 C# 中的 getter 在线缓存其结果?
- dialogflow-es - Messenger not loading Dialogflow Cards with certain urls
- ffmpeg - 使用 ffmpeg 将多个音轨和字幕添加到 dash manifest (mpd)
- css - 我想让一个元素悬垂到它上面的元素中
- css - 如何使 SCSS 中的字体 URL 与不同的 Flask 应用程序根一起工作
- angular - 角十进制管道不显示前导零?
- python - Python HTML解析器分页
- flutter - ImagePicker 结果不显示在 PhotoView 中
- c# - 编译Relaxatinos 和SecurityPermissions