我想在下面的例子中,當我打電話Load()
添加一個排序依據:訂單通過實體框架加載
(注:此對象已加載其他地方的EF文章)
private string GetTags()
{
var tags = this.Article.tags;
if (!tags.IsLoaded && this.Article.EntityState != EntityState.Detached)
{
tags.Load();
tags.OrderBy(t => t.name);
}
StringBuilder result = new StringBuilder();
foreach (var tag in tags)
{
result.Append(tag.name).Append(" ");
}
return result.ToString();
}
問題是這是不按alphebetical順序排序標籤。我錯過了什麼?
當我做'this.Article.tags.Load()'時,我可以orderby嗎? –
@DMoses:有一些技巧可以在急切加載時正常工作(http://blogs.msdn.com/b/alexj/archive/2009/02/25/tip-1-sorting-relationships -in-entity-framework.aspx),但我不知道有什麼辦法可以像這樣對一個'OrderBy'進行延遲加載。當然,您可以只執行一個單獨的查詢來獲取與您所在文章綁定的標籤,並將它們作爲查詢的一部分進行排序,但不會自動將它們加載到「Article.tags」屬性中。 – StriplingWarrior