Linq:包括多个表时的Orderby

| 目前正在向实体学习Linq。我成功了,但是对orderby子句及其在多个表中的使用感到困惑。
    var query = from k in contxt.pages.Include(\"keywords\") 
where k.ID == vals.pageId select k;
我对上面的代码的理解是它创建了一个内部联接,其中ID等于pageId。 因此,我在可视化上遇到的困难是如何在两个表上执行orderby? 我想对两个表进行排序。 我试过了:
var query = from k in contxt.pages.Include(\"keywords\") where k.ID == vals.pageId orderby k.keywords.**?** select k;
问号不应该在那里。我显示的是我要排序的列不存在。试试这个k.Kegwords。不显示该列。 我将编写一个SQL查询,如下所示:
string query = \"SELECT pages.page, pages.title, pages.descp, keywords.keyword
FROM pages INNER JOIN keywords ON pages.ID = keywords.pageID
ORDER BY keywords.sort, pages.page\"; 
页面和关键字之间存在一对多关系,即FK关键字。 谢谢, 德狗     
已邀请:
        干得好。
          var result = (from x in pages
                      join y in keywords on x.ID equals y.pageID 
                      orderby y.sort, x.page
                      select new
                      {
                          x.Page,
                          x.title,
                          x.descp,
                          y.keyword
                      });
    

要回复问题请先登录注册