Angenommen wir einige denormalisierter Daten haben, wie folgt aus:Normalisieren von Daten mit LINQ
List<string[]> dataSource = new List<string[]>();
string [] row1 = {"grandParentTitle1", "parentTitle1", "childTitle1"};
string [] row2 = {"grandParentTitle1", "parentTitle1", "childTitle2"};
string [] row3 = {"grandParentTitle1", "parentTitle2", "childTitle3"};
string [] row4 = {"grandParentTitle1", "parentTitle2", "childTitle4"};
dataSource.Add(row1);
ich es normalisieren müssen, z.B. IEnumerable erhalten < Child> mit Child.Parent und Child.Parent.GrandParent gefüllt.
Imperative Art ist mehr oder weniger klar. Wird es mit Linq kürzer sein?
Besser in einer Abfrage, und dies sollte für weitere Entitäten erweiterbar sein.
Ich habe versucht, so etwas wie separat erstellen IEnumerable < Großeltern>, dann IEnumerable < Parent> mit usw. Zuordnung
bitte einen Hinweis macht dies in einer funktionalen Weise erreicht werden könnte?
Haben Sie Groupby() versucht? –
Problem ist, wie Sie Entitäten ohne Duplikate erstellen und verknüpfen. Auswählen (neues Elternteil {GrandParent = neues GrandParent}) Oder ich vermisse etwas? – rudnev