Frage

Ich habe eine selbstverweisenden Tabelle genannten Kategorien, die eine parentcategoryid Spalte, die NULL-Werte zulässt.

Wenn ich die Tabelle der Entität Designer hinzugefügt erstellt es zwei Navigationseigenschaften für diese Beziehung und ich nannte ein parent (die Null oder 1 nav prop) und den anderen nannte ich Subkategorien (das * viele nav prop).

funktioniert alles toll, außer wenn ich mehr als eine Ebene tief es nicht die tieferen Ebene nicht abholen.

Also ich alle Category.SubCategories bekommen, aber ich habe nicht die Kategorien unter den Unterkategorien.

Bin ich etwas fehlt? zu denken beginnen wir mit NHibernate gesteckt haben sollte. Sollte nicht die tieferen Ebenen faul geladen werden?

    return from c in _entities.ContentCategorySet.Include("SubCategories")       
           where c.ParentCategory == null
           orderby c.Importance, c.Title
           select c;
War es hilfreich?

Lösung

Das ist, wie ich würde die Eigenschaft Unterkategorien Stellen zu verhalten.

Stufe 1

++ Ebene 2

++ Ebene 2

++ ++ Ebene 3

Wo Unterkategorien Eigenschaft Stufe 1 liefert nur Stufe 2 Artikel. Dann bekommt Level 3 Sie die aufeinanderfolgenden Stufe 2 Artikel zugreifen würden, in einer rekursiven Methode.

Andere Tipps

OK, zumindest einen Teil des Problems ist,

where c.ParentCategory == null

Wenn ich entfernen, dass ich die tieferen Ebene bekommen, aber dann hat Unterkategorien auf der obersten Ebene. Ich denke, ich kann sie nur herausfiltern nach der Tat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top