[英]How to remove or get distinct values in C# LINQ query?
我有一个数据库数据我已经编写了一个连接查询来连接两个表,然后是 select 基于 PhotoContestID 的数据,但我想要唯一值下面是连接查询及其结果
select *
from PhotoContest.ContestImageLibrary
Left Join
PhotoContest.ContestCategories On
PhotoContest.ContestImageLibrary.PhotoContestID = PhotoContest.ContestCategories.PhotoContestID;
我想根据 ImageID FirstorDefault 获取唯一值。 我不想要重复的记录,例如 ImageID
我已经编写了以下代码来获取详细信息,但我得到了重复的代码。 我试过在最后使用Distinct
但没有用。
var voteList = (from i in context.ImageLibrary
join p in context.ContestCategories on i.PhotoContestID equals p.PhotoContestID
select new VoteLists()
{
PhotoContestID = i.PhotoContestID,
ImageID = i.ImageID,
ImageCaption = i.ImageCaption,
ImageName = i.ImageName,
categoryName = p.categoryName,
isImageAccepted = i.isImageAccepted,
catID = p.Id,
empID = i.empID,
votingType = p.votingType
}).Where(x => x.PhotoContestID == id).ToList();
}
我应该在我的后端准确地写什么来获得所需的唯一结果,或者我可能无法获得基于 ImageID 的唯一值。
谢谢
问题是多个类别与每个图像匹配。
我会说您需要在键中使用包含所有重复字段的 GroupBy,这将迫使您指定如何管理值部分中的多个匹配类别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.