如何解决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
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。