2009-07-14 18 views
0

Ich entwickle eine Anwendung, die im Moment eine (ziemlich große) Datenbank über ADO.NET und hartcodierte SQL-Anweisungen abfragt. Zugegebenermaßen ist dies hässlich (dh keine Kompilierzeitfehler werden ausgelöst, wenn ein Fehler in der SQL gemacht wird) und möglicherweise gefährlich (aufgrund von SQL-Injektionen usw., obwohl dies wahrscheinlich kein Problem für diese spezielle Anwendung ist), aber dies wurde anfangs nicht berücksichtigt weil diese Anwendung wirklich nur an einer sehr kleinen Teilmenge von Tabellen in dieser Datenbank interessiert ist (zumindest für jetzt ...).Wann sollte ich ein ORM-Framework verwenden?

LinqToSQL schien interessant, aber da diese Anwendung auch die Möglichkeit haben muss, sich mit Oracle-Datenbanken zu verbinden, war dieser Plan nicht von Anfang an.

Ist ein Projekt wie meines für die Integration in ein ORM-Framework geeignet oder wäre das ein Overkill?

+0

Das sieht aus wie ein Duplikat von http: // stackoverflow.com/questions/349718/ado-net-entity-framework-decision-making-between-orm-solutions und viele mehr. Suche auf "Orm Framework" und du wirst sehen. –

Antwort

2

Ich denke, ein ORM sollte immer mindestens als betrachtet werden.

Aber es klingt nicht, als ob Sie sogar Business-Objekte verwenden (manchmal als Data Access Layer oder DAL bezeichnet), die die Nützlichkeit einer objektorientierten Sprache stark untergräbt. Ich würde das zuerst ansprechen. Wenn es zu zeitaufwändig ist, alle CRUD für die Geschäftsobjekte zu erstellen, ist es Zeit für ein ORM ...

Mein persönlicher Favorit ist nHibernate. Große Lernkurve aber definitiv wert.

1

Ich würde eine generierte DAL anstelle eines ORM oder Linq empfehlen.

Untersonik http://subsonicproject.com/ untersuchen. Es ist ein Open-Source-DAL-Generator, der sehr einfach zu erlernen und zu verwenden ist und einen sehr geringen Overhead hat.

+0

Ich habe SubSonic nicht selbst benutzt, aber lese regelmäßig den Blog des Autors. Ich denke es ist wahrscheinlich eine tolle DAL für den ersten Einstieg in die DAL- und ORM-Felder. – mkmurray

1

Ich würde definitiv sagen, dass es ein Kandidat für ein ORM-Framework ist. Der Aufwand für das Einrichten des ORM ist ziemlich gering, wenn Sie sich erst einmal mit einem Framework vertraut gemacht haben, und die Vorteile sind vielfältig.

Wie Sie sagen, ist LinqToSQL nicht geeignet, wenn Sie Oracle-Unterstützung benötigen, aber die meisten anderen Frameworks unterstützen Oracle.

Wenn Sie nur eine kleine Teilmenge der Tabellen verwenden, müssen Sie nur eine kleine Teilmenge der Tabellen abbilden, und die Installationskosten werden daher noch weiter sinken.

Viel Glück!

0

Versuchen Sie, etwas zu verwenden, das sql generiert (wie Linq, nur mit Oracle), anstelle eines orm.

Warum? Jeff Atwood explains.

Zitat:

"Zuerst bist du wie" whee! Objekte! "und dann merkt man - hey, das ist eine Menge mühsamer, fehleranfälliger Mapping-Code, den ich vorher nicht schreiben musste ..."

Verwandte Themen