Frage

ich bin unter dem Eindruck, dass

  • EF mit POCO: Damit können Sie Ihre eigenen POCO zu den Einheiten auf dem Modell (.edmx)
  • abzubilden.
  • EF-Code-Only: nicht edmx / Modell-Designer (. Dh CSDL / SSDL / MSL (zusammen EDMX) Metadaten). Noch POCO aber die Zuordnungen, Beziehungen, Navigation, etc. sind alle manuell codiert (daher der Code-only, Beschreibung).

Wenn diese Beschreibung der beiden Konzepte ist (mehr oder weniger) richtig ist, warum soll jemand, was einen Code Nur anstelle von EF mit POCO zu tun?

Beide tun POCO, aber der zweite hat man die zusätzliche Last, auch die Zuordnung zu tun, manuell?

War es hilfreich?

Lösung

  1. -Code ist nur groß, wenn Sie die Zuordnung von Hand schreiben möchten, ohne den Umweg über XML dreschen zu müssen. Auch der edmx Designer bekommt unhandlich nach 50 oder so Modelle, es ist nur eine Last, die Art und Weise zu nutzen.

Wenn etwas in Ihrem Mapping XML schief geht es ist wirklich ein PITA im xml wühlen, um die Korrekturen, die Sie brauchen. Auch der Designer bricht, wenn Sie manuell bearbeiten Sie Ihre xml in bestimmten Szenarien zu starten.

Nun weiß ich nicht die Details, aber die Designer in EF1 hat alle verfügbaren Mapping-Optionen nicht unterstützen. Der EF4 Designer hat einige Verbesserungen (eine Art und Weise Beziehungen in dem Sinne kommen), aber ich bin mir nicht sicher, ob es Feature-Parität mit manuellen Zuordnungen hat.

  1. Ja.

Andere Tipps

Das einzige, was ich hinzufügen würde Antwort auf jfar ist, dass mit Code Nur dich nicht tun Haben Zuordnungen zu erstellen.

Mappings kann durch Konvention die meiste Zeit geschlossen werden.

Der Punkt über Ansicht vorge Generation ist wichtig. Ich habe nicht gehört, dass Microsoft die Absicht hat, für die Code-nur Pre-Generation zur Verfügung zu stellen. Wenn jemand anders weiß, bitte posten.

Ich habe für 400 Tabellen Code nur als Teil einer Untersuchung verwendet, ob mit EF4 oder NHibernate zu gehen, und es gibt eine 80 zweite anfängliche Verzögerung für Ansicht Generation - genau das gleiche wie bei den Designer verwenden, aber mit dem Designer Pre-Generation sehen ist möglich, die die Verzögerung bis zu 10 Sekunden gebracht. Wenn Sie nicht zufrieden sind Ihr Modell Aufspalten und Sie haben über 75 Tabellen keinen Code-nur gehen.

Ich glaube nicht, dass Code-Only derzeit können Sie Ansichten vorab generiert wird, so kann es zu einer Leistungskosten sein. Dies könnte vor der Freigabe ändern, though.

Noch etwas, das wurde nicht erwähnt ist, dass Sie vollständige Kompilierung-Überprüfung Ihrer Syntax erhalten, wenn nur mit Code. Wenn Sie die Visual Designer mit EDMX verwenden, erhalten Sie eine Kompilierung-Kontrolle, aber es ist begrenzt. Für größere Modelle, bekommt EDMX extrem unweildy, und manuell die CSDL, SSDL Schreiben und MSL ist die einzig vernünftige Art und Weise extrem große Modelle mit XML-Mappings zu verwalten. Sie erhalten keine Kompilierung-Überprüfung, ob Sie manuell Ihre Zuordnungen verwalten.

nur mit Code, Sie haben den Vorteil der vollständigen Kompilierung für die Modelle jeder Größe überprüft, auch wenn Sie Hunderte oder Tausende von Unternehmen, die Sie benötigen, mit zu arbeiten. Es führt auch zu weniger „Unordnung“, wie Ihr Endprodukt alle kompilierten Assemblys, anstatt eine Mischung von Baugruppen und verschiedener Arten von XML-Dateien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top