Hallo,
wenn ich beispielsweise (vereinfacht) einen Kunde hab mit mehreren Ansprechpartnern. Ist es ja richtig dass ich im Kundeobjekt nen Array oder Liste vom Typ Ansprechpartner habe die Anzahl entsprechend der vorhandenen Ansprechpartnern.
In der Datenbank habe ich 2Tabellen, Kunde und Ansprechpartner.
Wie mach ich das nun beim Speichern? Hat das Kundeobjekt seine .Save methode? oder tut die Dal Schicht die Ansprechpartner mitspeichern oder 2getrennte Dal für Kunde und Ansprechpartner und nen KundenManager objekt speichert dann den Kunde über den kunden dal und den Ansprechpartner entsprechend?
Oder wie macht man sowas im besten Fall?
Bin für Tipps dankbar.
Hi!
Grundsätzlich sind das zwei verschiedene Ansätze:
Du musst also die Daten aus der Datenbank rausholen und zu Objekten zusammenbauen (Object-Relational-Mapping). Beim Sichern halt umgekehrt.
Oder Du nutzt eine Objektorientierte Datenbank.
Oder Du nutzt keine Datenbank sondern serialisierst Deine Objekte in Dateien.
greetz
DaSchroeter
Hallo daniel,
damit sollte deine Klasse gar nichts am Hut haben, auch keine Save-Methode oder sowas. Das ist rein eine Aufgabe des DAL oder eines O/R-Mappers.
herbivore
Wie sieht das dann konkret aus?
ich habe die Klasse Kunde und Ansprechpartner, sowie KundeDal und AnsprechpartnerDal. In den Dal Klassen befinden sich eben jeweils .Update .Create. An welcher Stelle bzw welche Klasse fehlt mir jetzt wo dann das Ansprechpartner Objekt an den ansprchpartnerdal übergeben wird und das Kunde Objekt dem KundeDal oder wie sieht das konkret aus?
Also ich will natürlich nichts fertiges sondern nur kurz was wo in welcher Klasse passiert. Stehe grade irgendwie total auf dem Schlauch
Hallo daniel,
ich denke, du siehst ein, dass eine allgemeine Beschreibung, wie man einen DAL aufbaut, den Rahmen sprengt. Zumal es solche allgemeinen Beschreibungen ja (auch im Netz) massig geben wird.
herbivore
mh also ich mein ja nicht den dal ansich, denke da genügt doch z.b. bei KundeDal nen .Update(Kunde k) .Create(Kunde k) usw.. Eher hab ich das Problem, dass ich nicht weiß an welcher Stelle im Programm aus dem Kunde Objekt die Ansprechpartner daraus an den AnsprechpartnerDal gehen also direkt beim Speichern button, im Dal des Kunde Objekts oder wo?
Hallo daniel,
KundeDal.Update(Kunde k) sollte m.E. AnsprechpartnerDal.Update aufrufen.
herbivore