LINQ to Entity Framework:返回相关行的排序列表

时间:2009-08-01 17:50:24

标签: linq entity-framework

表类别(c)与表格问题有1:多关系:类别可以有很多问题,但问题只属于一个类别。问题也按难度排列。

我想要一个LINQ to EF查询,它会返回所有带有相关问题的类别,但问题应该根据难度进行升序排序(比如在Question.Rank列上)。

到目前为止,我的查询缺少问题的分类:

var results = from c in context.Category.Include("Question") select c; 

如何添加问题以解决问题?

1 个答案:

答案 0 :(得分:1)

订购记录的标准方法是使用orderby语句。参见:

http://srtsolutions.com/blogs/billwagner/archive/2006/03/29/ordering-linq-results.aspx

由于您尝试订购子列表,因此您的问题略有不同。

如果您将orderby与Loadwith一起使用,它应该起作用:

http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/ec54792f-1ffb-45c3-9525-797c96023de9

http://social.msdn.microsoft.com/forums/en-US/linqtosql/thread/adbd8e6a-2679-4d03-98fe-c4ed7726f95d/

幸运的是,代码看起来应该是这样的:

var results = from c in context.Category 
 select new { Category = c, Question = c.Question.OrderBy(o => o.Rank) };