Linq to sql LINQ中的SQL查询

Linq to sql LINQ中的SQL查询,linq-to-sql,c#-4.0,Linq To Sql,C# 4.0,我有一个包含以下列的表:CombinationID、IndexID、Value 有一个sql查询: SELECT CombinationID FROM CombinationIndex where IndexID <> 4 group by CombinationID order by sum(case indexid when 1 then -Value else Value end) desc 我怎么能用linq的c语言编写这个查询呢?我想这应该可以帮

我有一个包含以下列的表:CombinationID、IndexID、Value 有一个sql查询:

SELECT     CombinationID
FROM         CombinationIndex
where IndexID <> 4
group by CombinationID 
order by sum(case indexid when 1 then -Value else Value end) desc

我怎么能用linq的c语言编写这个查询呢?

我想这应该可以帮你完成这一切都是我不知道的,所以可能会有轻微的语法错误:

var results = context
              .CombinationIndexes
              .Where(i => i.IndexID != 4)
              .GroupBy(i => i.CombinationID)
              .OrderBy(g => g.Sum(i => i.IndexID == 1 ? -i.Value : i.Value))
              .Select(g => g.Key);

我想这应该能帮到你,这完全是我的想法,所以可能会有轻微的语法错误:

var results = context
              .CombinationIndexes
              .Where(i => i.IndexID != 4)
              .GroupBy(i => i.CombinationID)
              .OrderBy(g => g.Sum(i => i.IndexID == 1 ? -i.Value : i.Value))
              .Select(g => g.Key);