Ich möchte die Daten abrufen und in sortierten anzeigen (Kind unterhalb der übergeordneten).
Die Daten definiert wie folgt: ID | Titel | Eltern-IDWie können hierarchische Daten mit Linq-to-Entities abgerufen werden?
Was ich mache, ist zuerst alle Artikel abzurufen und dann zu sortieren.
Gibt es eine bessere Möglichkeit, das mit Linq zu tun?
protected void Page_Load(object sender, EventArgs e)
{
List<Category> list2 = new List<Category>();
ContModel modeltx = new ContModel();
var ret = modeltx.Categories.ToList();
GetCategoryList(0, 0, ret, list2);
string str="";
foreach (Category cat in list2)
{
str=str+cat.Title+"\n";
TextBox1.Text = str;
}
}
private void GetCategoryList(int iCurID, int iDepth, List<Category> li, List<Category> newList)
{
Category tmp;
string strOffset = "";
foreach (Category cat in li)
{
if ((cat.ParentId) == iCurID)
{
for (int i = 1; i <= iDepth; i++)
strOffset = strOffset + "-";
strOffset = strOffset + cat.Title;
tmp = cat;
tmp.Title = strOffset;
newList.Add(tmp);
strOffset = "";
GetCategoryList(cat.CategoryID, iDepth + 1, li, newList);
}
}
}
Update:
Wie sein, wenn die Größe der Daten sehr groß ist, und ich will Paging benutzen?
Ich kann nicht Seite (.Skip(PageSize * PageIndex).Take(PageSize)
) vor dem Sortieren ...
Mögliche Duplikat von http://StackOverflow.com/Questions/202912/Hierarchical-Data-in-Linkl-Options-and-Performance – too