Schlage vor, ein einfaches ORM auf .NET - design für die Pflege von legacy-apps
Ich bin zugeordnet, pflegen eine Reihe von legacy-Anwendungen mit schweren gespeicherte Prozedur Verwendung mit Baujahr vor '05, als es noch kein ORM. Die Entwickler, die mit mir arbeiten wissen nicht, Entity Framework noch LINQ und sind nicht begierig zu lernen.
Gibt es eine ORM auf .NET, bietet eine einfache Objekt-Schnittstelle zu vorhandenen Datenbank-Tabellen und-vielleicht-gespeicherte Prozeduren?
Bin ich ganz froh, wenn es mir ermöglicht code ein paar Zeilen zu bekommen, eine Klasse für jede Tabelle, und es Eigenschaften hat, die entsprechenden Daten in jeder Spalte und einige Methoden oder Eigenschaften auflösen von foreign key-Beziehung /viele-zu-viele-Beziehung - vorwärts und rückwärts.
Zum Beispiel die Rettung eines employee und department-Datensatz
Employee e = new Employee("John", null);
Department d = new Department("QA");
d.save();
e.department = d;
e.save();
ohne schreiben von INSERT-SQL-Anweisungen.
BEARBEITEN:
Ich bin mit MS SQL Server 2008
- Drei Worte, LINQ To SQL!
- Siehe meine Q wieder, LINQ nicht appelliere an die Entwickler, ich arbeite mit.
- Alles, was Sie sagte, war, dass Sie nicht begierig zu erfahren. Das bedeutet nicht, dass Linq ist eine schlechte Wahl. Ohne eine einzige Zeile code können Sie alle Ihre Eigenschaften und Klassen aus den Tabellen
- Die Wahl ein .NET ORM: stackoverflow.com/questions/1377236/...
- Ich Frage die Tatsache, dass Sie "nicht bereit sind, zu lernen". Welche Art von Entwickler sind Sie? Sicherlich lernen Sie erweitern Ihre Wissensbasis und Ihre Beschäftigungsfähigkeit in der Zukunft. Nur so ein Gedanke.
- richtig! Ich die Firma verlassen haben 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick auf Rob Conery ist Massive. Es ist ganz einfach und scheint einfach zu bedienen. Es sieht aus wie es braucht .NET 4, aber.
SubSonic ist Recht einfach zu bedienen. LINQ to SQL ist eine gute Wahl auch. Werfen Sie auch einen Blick auf http://www.codeproject.com/KB/database/LightORMLibrary.aspx.
Ich schlage vor, Sie verwenden PetaPoco, die ganz frisch ORM mit leicht zu lernen Linie.
Vom Autoren-Website:
Ich verwendet Subsonic in .NET-2.0-Projekte und es war schön. Leider, so scheint es, ist es nicht mehr weiterentwickelt wird.
NHibernate werden können, etwas zu schauen, auch, obwohl persönlich ich nicht wie die original-Java Hibernate sehr viel, aber das war vor Jahren. Ich benutze auch SubSonic auf einer regulären basis. Die neuesten SubSonic ist mehr Linq-orientiert, sondern schauen Sie sich explizit an seine "ActiveRecord" - Fähigkeit. Ich denke, es deckt die Objekt-basierte Dinge, die Sie versuchen zu tun. Entwicklung auf SubSonic passiert nicht viel mehr, außer gelegentlichen bug-fixes, aber es ist open source, und es gibt eine Google-Gruppe für support-Fragen. Es unterstützt auch eine gute Anzahl von Datenbanken, da Sie nicht erwähnen, welche DB du verwendest.