使用 Distinct 将 SQL 查询转换为 Linq (c#)

Converting SQL Query into Linq (c#) with Distinct

我正在尝试使用 Linq 编写我的 SQL 语句,但我不太明白。我知道有很多熟悉的帖子,但也许你可以帮我看看我的帖子,帮助我了解它是如何工作的。

我的SQL查询:

SELECT DISTINCT(cou.Country1) AS Laender, COUNT(cou.Country1) AS Anzahl FROM SEC_User be
INNER JOIN PAR_Company com ON com.CompanyID = be.CompanyID
INNER JOIN DAT_Country cou ON cou.CountryID = com.CountryID
Group by cou.Country1

我觉得我的开始可能是对的:

var query = from user in db.SEC_User
join com in db.PAR_Company on user.CompanyID equals com.CompanyID
join cou in db.DAT_Country on com.CountryID equals cou.CountryID

提前致谢!

你可以试试这个。你不需要 DISTINCT 和分组依据。分组依据已经使它与众不同。

var query = from user in db.SEC_User
join com in db.PAR_Company on user.CompanyID equals com.CompanyID
join cou in db.DAT_Country on com.CountryID equals cou.CountryID
group cou by user.Country1 into g
select new { Laender = g.Key, Anzahl = g.Count()};