2010-04-05 13 views
7

Ich werde bald ein neues Projekt starten, mit. Net 3.5 und Winform auf einer Oracle-Datenbank. Wir planten die Verwendung eines ORM. NHibernate wurde von unserem Architekten vorgeschlagen. Da ich mit Entity Framework vertrauter bin, dachte ich, es wäre einfacher zu benutzen als NHibernate. Aber da es keine offizielle Bestimmung von Oracle gibt, sind wir gegen die Verwendung von Oracle resistent.ORM Für. NET ON Oracle

Also meine Frage: Ich habe bei den verschiedenen Anbietern sah zur Verfügung und fand einige:

  • DevArt
  • DataDirct
  • EFOracleProvider

So würde Ich mag einige Feed haben Zurück zu jedem von ihnen - Pros und Con, fehlende Features, solche Sachen, von denen, die sie benutzen, und wissen, ob wir mit NHibernate besser dran sind?

Danke für die Hilfe.

Antwort

7

Ihr Architekt hat Recht - NHibernate ist einfach ein fantastisches ORM.

NHibernate kommt nicht mit den visuellen Designern, mit denen EF ausgestattet ist, und hält den gesamten XML-Code sowohl mit dem Schema/den Migrationen als auch mit den Klassendefinitionen synchron. Glücklicherweise gibt es einen Auto-Mapper namens FluentNHibernate, der sogar diesen Aspekt von NHibernate nahtlos machen kann (Sie können das Mapping für jede Tabelle oder jede Spalte anpassen, wenn Sie möchten, und auch die Auto-Mapper-Konventionen außer Kraft setzen).

Die Datenzugriffskomponenten, die Microsoft herausgibt, sind in der Regel niedriger und basieren auf visuellen Designern. So will ich nicht arbeiten. Persönlich möchte ich eine High-Level-Bibliothek, die hinter den Kulissen funktioniert und keine raffinierten Maschinen zum Einrichten und Warten benötigt.

Versteh mich nicht falsch - einige der Dinge, die Microsoft herausbringt, sind fantastisch, wie die .NET-Plattform als Ganzes. Ich denke nur, dass Microsoft mich und meine Bedürfnisse mit seinen Datenzugriffsstrategien nicht so gut wie NHibernate anspricht.

+0

+1. Habe gerade ein Projekt mit .NET 3.5 und Fluent NHibernate abgeschlossen und es war nicht so schlimm. Es gab ein paar Knicke, aber sie waren leicht zu verstehen. –

+0

Es gibt visuelle Designer für NHibernate. NHibernate ist ohne XML verwendbar. Fakten sind wichtig. –

+0

Thx für das Feedback, ich kannte FluentNHibernate nicht, ich werde es mir sicherlich anschauen. –