将组SQL表达式转换为LINQ

将组SQL表达式转换为LINQ,linq,linq-to-sql,Linq,Linq To Sql,在将此查询表达式转换为LINQ表达式时,我遇到了一个真正的难题 SELECT r.Disc_code ,r.SEX FROM RACE r WHERE r.EVENT_CODE = 100 GROUP BY r.SEX , r.disc_Code order by r.disc_code 我可以使用一个表,但我没有看到任何在stackoverflow或MSDN中链接两个组表达式的示例。我遗漏了什么吗?要对多个标准进行分组,您必须执行以下操作:

在将此查询表达式转换为LINQ表达式时,我遇到了一个真正的难题

SELECT 
    r.Disc_code
    ,r.SEX 
FROM RACE r     
WHERE r.EVENT_CODE = 100 
GROUP BY 
    r.SEX
    , r.disc_Code
order by r.disc_code

我可以使用一个表,但我没有看到任何在stackoverflow或MSDN中链接两个组表达式的示例。我遗漏了什么吗?

要对多个标准进行分组,您必须执行以下操作:

var query = from book in books
group book by new {book.author, book.editor} into books;
        var results = from r in dataContext.Race
                      where r.EVENT_CODE == 100
                      orderby r.Disc_Code ascending
                      group r by new { r.Sex, r.Disc_Code } into g
                      select g.Key;
要访问它们:

var author = books.Key.author;
var editor = books.Key.editor;

也许是这样的:

var query = from book in books
group book by new {book.author, book.editor} into books;
        var results = from r in dataContext.Race
                      where r.EVENT_CODE == 100
                      orderby r.Disc_Code ascending
                      group r by new { r.Sex, r.Disc_Code } into g
                      select g.Key;
下面是VB.NET中的列示例

Dim query = From r In db.Race _
            Where r.EVENT_CODE = 100 _
            Order By r.disc_Code _
            Group By Key = New With {r.Sex, r.disc_Code} Into Group _
            Select Key, Group