将此sql命令转换为c#linq

将此sql命令转换为c#linq,linq,tsql,code-conversion,Linq,Tsql,Code Conversion,我正在尝试将此tSql命令转换为linq查询。 我想对这些列进行分组。 你能帮我吗 select vUnit.FK_Unit_ID , Unit.unitNumber, unit.unitTitle , title.featureTitleName from unit.UnitFeatureValue vUnit inner join unit.Unit on vUnit.FK_Unit_ID = Unit.ID inner join unit.FeatureTitle title on vU

我正在尝试将此tSql命令转换为linq查询。
我想对这些列进行分组。
你能帮我吗

select  vUnit.FK_Unit_ID , Unit.unitNumber, unit.unitTitle , title.featureTitleName
from unit.UnitFeatureValue vUnit
inner join unit.Unit on vUnit.FK_Unit_ID = Unit.ID
inner join unit.FeatureTitle title on vUnit.FK_FeatureTitle_ID = title.ID
where vUnit.FK_Unit_ID = 15 and title.canMoreSelect = 1
group by vUnit.FK_Unit_ID ,unit.unitNumber, unit.unitTitle , title.featureTitleName
像这样的

var result = (from v in vUnit 
join u in unit on v.FK_Unit_ID equals u.ID
join t in title on v.FK_FeatureTitle_ID equals t.ID
where v.FK_Unit_ID == 15 and t.canMoreSelect == 1
select new { v.FK_Unit_ID , u.unitNumber, u.unitTitle , t.featureTitleName }).ToList();

请告诉我们您尝试了什么,我们将帮助您实现它。您的组的目标是什么,您的查询没有计数、总和或类似的内容,它被用作
select distinct
如何将var查询结果转换为我的类?使用您的类
newyourclass{…}
而不是
new{…}
请解释下一票,并提出更好的建议?您的联接语法错误,这不会影响distinct/GROUPING您看到原始查询了吗?它需要一个分组吗?这取决于数据。但是你的连接语法仍然是错误的
=
应该是
等于
(正如where子句和
)上的注释
=
应该是
=
)。不需要ToList()
。(并杀死可组合性)当SQL有表别名,如
vUnit
title
时,我建议使用它们作为范围变量。我建议不要搞得一团糟。这听起来像是说“我建议不要编程”?你为什么在这个网站上?如果你认为你有更好的方法,你的答案不应该反映这一点吗?
var query = (
    from v in dbContext.UnitFeatureValue
    join u in dbContext.Unit on v.FK_Unit_ID equals u.ID
    join t in dbContext.FeatureTitle on v.FK_FeatureTitle_ID equals t.ID
    where v.FK_Unit_ID == 15 && t.canMoreSelect == 1
    select  new {
        v.FK_Unit_ID, 
        u.unitNumber, 
        u.unitTitle, 
        t.featureTitleName,
    }).Distinct();