1
私は以下のネストされたクラスを持っています。私はDisplayOrderフィールド上の適切な場合には、各レベルでの並べ替えしようとしています私がして、各レベルでソートされたすべてのデータを返すために苦労していますネストしたコレクションをLinqでソートする
public class Menu
{
public virtual string MenuDescription { get; set; }
public virtual bool Active { get; set; }
public virtual short SiteId { get; set; }
public virtual IEnumerable<MenuHeader> MenuHeaders { get; set; }
}
public class MenuHeader
{
public virtual string HeaderName { get; set; }
public virtual string Url { get; set; }
public virtual string DisplayOrder { get; set; }
public virtual IEnumerable<MenuCategory> MenuCategories { get; set; }
}
public class MenuCategory
{
public virtual string Name { get; set; }
public virtual string Icon { get; set; }
public virtual string Url { get; set; }
public virtual string DisplayOrder { get; set; }
public virtual IEnumerable<MenuOptionHeader> MenuOptionHeaders { get; set; }
}
public class MenuOptionHeader
{
public virtual string Name { get; set; }
public virtual string Url { get; set; }
public virtual string DisplayOrder { get; set; }
public virtual IEnumerable<MenuOption> MenuOptions { get; set; }
}
public class MenuOption
{
public virtual string Name { get; set; }
public virtual string Url { get; set; }
public virtual string DisplayOrder { get; set; }
}
DisplayOrder
私は
menuRepository.GetAll(x => x.SiteId == _siteConfiguration.Id && x.Active == true)
.SelectMany(x => x.MenuHeaders.OrderBy(d => d.DisplayOrder))
.SelectMany(x1 => x1.MenuCategories.OrderBy(o => o.DisplayOrder))
.SelectMany(x2 => x2.MenuOptionHeaders.OrderBy(o => o.DisplayOrder));
ような何かをしようとしていました
これは、パーツデータセットのみを返します。 linqをどのように修正すればいいですかDisplayOrderで各レベルでソートされたすべてのデータを返します
なぜMenuOptionHeaderクラスとMenuOptionクラスが必要ですか?私は、MenuCategoryと同じプロパティを持っていると考えています。 – Tiramonium