2009-08-01 66 views
1

Table類別(c)與Table有1:many關係問題:一個Category可以有很多個問題,但一個Question只屬於一個類別。問題也按難度排列。LINQ to Entity Framwork:返回相關行的排序列表

我想要一個LINQ to EF查詢,將返回所有類別與相關的問題,但問題應根據難度排序升序(讓我們說在Question.Rank列)。

我的查詢,到目前爲止,缺少分類的問題:

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

如何需要得到這些問題分揀添加?

回答

1

訂購記錄的標準方法是使用orderby語句。請參閱:

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

你的問題是有點不同,因爲你想訂購一子列表。

如果用Loadwith一起使用OrderBy它應該工作:

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) }; 
+0

感謝。這工作。作爲後續工作,我希望將結果分配給像這樣的變量: 列表類別; categories = results.ToList(); 不幸的是,導致 「錯誤無法隱式轉換類型 'System.Collections.Generic.List ' 到 'System.Collections.Generic.List '」 任何想法?對不起,我是新來的泛型。 – Sajee 2009-08-01 21:08:40