SubSonic Datenschicht, die POCOs statt SubSonic der Active Objekte zurückgibt
-
19-08-2019 - |
Frage
Ich will SubSonic (2.2) in einer Anwendung verwenden, ich baue, weil ich seine Einfachheit mögen und es behandelt jede Art von Abfrage kann ich brauche voraussehen. Zugleich möchte ich die oberen Schichten meiner Anwendung entkoppelten halten von den Subsonic-Typen. Ich will nur Plain Old C # Objekte zurück und übergeben Sie auch in POCOs zu speichern.
Aber hier ist der Haken: Ich meine POCOs will auf den FK-Beziehungen basierend Faule geladen Eigenschaften für Kinder Sammlungen und übergeordnete Objekte haben. Ich denke, ich muß irgendwie ein Subsonic sqlquery Objekt in einem privaten Mitglied auf meiner POCO setzen und die intern für eine faule loaded Eigenschaft in dem Getter verwendet werden.
Alle Ideen, wie dies mit SubSonic speziell zu implementieren? Wer das schon mal gemacht?
ich erkennen, dass die nächste Version von SubSonic wird diese Out-of-Box tun, aber das schaut weg atleast ein paar Monate sein.
Lösung 4
kann nicht immer eine gute Möglichkeit herauszufinden, dies zu tun. Subsonic 3 sieht sehr schön und würde das Problem, aber in der Zwischenzeit wir nur ging mit NHibernate .
Andere Tipps
Ich verwende die RepositoryRecord in SubSonic, die "überwiegend" poco ist. Dann mache ich partials für jene Klassen, die die andere Klasse zu laden, wenn eine Eigenschaft ausgewählt ist.
Partial Public Class Book
Private _Author as Database.Author
Property Author() as Database.Author
Get
If _Author is nothing then
' Load the author class here.
End if
return _Author
End get
Set
....
End Set
End Property
End Class
Sie können das Attribut verwenden:
tableBaseClass = "RepositoryRecord"
Ich fürchte, ich weiß nicht, wie dies obwohl die träges Laden abwickelt. Sie können sehen, Rob Conery der Post Informationen für weitere Details.
Was Sie wollen, ist nicht in der Version 2.x. Sie könnten in der Lage sein, die meisten des Weges dorthin durch die Vorlagen Bearbeitung (Ich habe Beispiele für faul belastete Eigenschaft auf meinem Blog ). Eine weitere Option ist Ihre pocos dann Klassen aufzubauen baut aus den SubSonic generierten Klassen und Abfragen zu Ihrem Modell abzubilden.