Ich habe mit linq2sql und der Linq DTOs (den Klassen, die von linq2sql erstellt werden) ....Verwechslung zwischen DTOs (linq2sql) und Klassenobjekten!
ich verwirrt bin, habe ich die Aufgabe, die Aktualisierung eine alte Anwendung, und ich kann sehen, dass mein DTOs erfolgreich arbeiten wird verwendet, wie sie sein sollten .... zum Transportdatum
Ich verwende das Repository-Muster, also übertrage ich Daten vom Repository zum Dienst über die linq2sql dtos ... sobald ich in der Service-Schicht bin (das ist im Grunde meine Geschäftslogik), dann muss ich Klassenobjekte weitergeben.
Diese Klassenobjekte sind grundsätzlich ein Spiegelbild (mehr oder weniger) der dtos - es gibt so etwas Ich ändere an einer Stelle, aber im Allgemeinen die gleiche ..
So zurück zu der Frage in der Hand! - ist es eine gute Vorgehensweise, dtos nur zum Transport von Daten vom Repository zur Serviceebene zu verwenden ... und sobald ich in der Serviceebene (Geschäftslogik) bin, sollte ich alle meine dtos zu den Klassenobjektgegenstücken MAPPING (natürlich mit automapper! !)
Meine andere Alternative ist, weiterhin die DTOS wie Klassenobjekte zu verwenden und sie von Methode zu Methode und als Rückgabetypen usw. weiterzuleiten, aber ich fühle, dass das eine schlechte Übung ist und ich laufe in Kreisen herum und frage mich, welche Methode ich sollte gelten?
Jede Hilfe wirklich zu schätzen
dank
Ich liebe diese Idee ... das einzige Problem ist in MVC, die Controller können keine Schnittstellen für die Add-Methoden aufnehmen. Dies macht die Schnittstellen für MVC relativ unbrauchbar. Wie sind Sie mit diesem Problem umgegangen, weil ich das wirklich gerne machen würde? –
Methode hinzufügen? kannst du es ausarbeiten, ich benutze gerade diese appraoch mit aspmvc und hatte keine probleme. – Amir
"Die Controller können keine Schnittstellen für die Add-Methoden verwenden", erstellen Sie einfach ein View-Modell, das die Schnittstelle implementiert. Es kann sich im Webprojekt befinden, da es nur ein Objekt ist, das die Interaktion mit der Ansicht erleichtert. – Amir