我对MVC很陌生,所以可能会有一个非常简单的答案。
以下是我当前的控制器代码:
public class StudentBanController : Controller
{
SWGS_GlobalDataEntities DataContext = new SWGS_GlobalDataEntities();
// GET: StudentBan
public ActionResult DisplayBans()
{
var theData = DataContext.tblGlobalLogOnLogOffStudentBans.ToList();
List<StudentBanDisplayViewModel> BanList = theData
.Select(viewModel => new StudentBanDisplayViewModel
{
ID = viewModel.ID,
UserID = viewModel.UserID,
StartBan = viewModel.StartBan,
EndBan = viewModel.EndBan
}).Where(b => b.EndBan > DateTime.Today).ToList();
return PartialView(BanList);
}
}
我要做的是创建一个列表,但我只希望它包含Distinct UserID的记录,我不知道如何去做。
我在不同的地方尝试过.distinct,并按用户ID分组并选择.first,但似乎没有任何工作。
有什么建议吗?
答案 0 :(得分:1)
尝试以下
List<StudentBanDisplayViewModel> BanList = theData
.Select(viewModel => new StudentBanDisplayViewModel
{
ID = viewModel.ID,
UserID = viewModel.UserID,
StartBan = viewModel.StartBan,
EndBan = viewModel.EndBan
}).Where(b => b.EndBan > DateTime.Today)
.DistinctBy(s => new {s.UserID}).ToList();
How to remove duplicates from collection using IEqualityComparer, LinQ Distinct