Ich habe mehrere Elternteile & gt; Kind & gt; Enkelkind-Beziehungen in meinem DB-Schema. Normalerweise habe ich die Eltern und ich möchte etwas über die Enkel wissen. Zum Beispiel habe ich einen Benutzer, der eine Sammlung von sozialen Netzwerken hat, die Sammlungen von Freunden haben. Ich merke, dass ich diesen Code immer wieder schreibe.
%Vor%Gibt es einen eleganteren Weg, dies mit linq zu tun?
Was ich wirklich gerne tun könnte, ist "user.Friends", aber ich müsste dem Benutzer einen Fremdschlüssel in die Freundesliste geben, und das riecht nicht richtig. So würde das aussehen:
%Vor%Gedanken?
Sie können den Code nur einmal als Methode für die Klasse User
schreiben:
Alternativ können Sie auch SelectMany()
:
Ich weiß das alt, aber ich habe in letzter Zeit dasselbe erlebt, und eine Alternative besteht darin, das Gegenteil zu tun. Beginnen Sie nicht mit Benutzer und Drilldown, beginnen Sie bei Friend und filtern Sie basierend auf dem übergeordneten (oder Großeltern). Sie benötigen dazu die Benutzer-ID. Wenn die Hierarchie tiefer wird, finde ich das besser lesbar. Etwas wie:
%Vor%Tags und Links .net linq database-design