将SQL查询转换为具有不同的Linq(c#)

问题描述 投票:1回答:1

我正在尝试使用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

提前感谢!

c# sql entity-framework linq linq-to-entities
1个回答
4
投票

您可以尝试这个。您不需要DISTINCT和group by。分组依据已经使其与众不同。

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()};
© www.soinside.com 2019 - 2024. All rights reserved.