Wenn das Entity Framework NICHT verwendet wird

.net architecture c# entity-framework

Frage

Ich habe mit dem EF herumgespielt, um zu sehen, was damit umgehen kann. Viele Artikel und Beiträge erklären auch die verschiedenen Szenarien, in denen die EF verwendet werden kann, wenn jedoch die "con" -Seite irgendwie fehlt. Nun ist meine Frage, in welchen Szenarien sollte ich mich vom Entity Framework fernhalten ?

Wenn Sie Erfahrung in diesem Bereich haben, sagen Sie mir, welche Szenarien mit dem EF nicht gut funktionieren. Erzählen Sie mir einige Nachteile, die Sie erlebt haben und bei denen Sie sich gewünscht hätten, eine andere Technologie zu wählen.

Akzeptierte Antwort

Ich bin auch gerade auf der "herumrunden" -Phase, und obwohl ich mir Sorgen machte, dass es keinen integrierten Agnostizismus gibt, war ich mir sicher, dass es eine "Umgehung" geben würde.

In der Tat ist dies nicht einmal eine Umgehung in einer N-Tier-Architektur.

WCF + EF

Wenn ich den Artikel richtig gelesen habe, sehe ich kein Problem mit der Serialisierung von Entitäten im gesamten Draht (mit WCF) und auch die Unkenntnis der Persistenz ist kein Problem.

Dies liegt daran, dass ich PI hauptsächlich für Komponententests verwenden würde.

Stückprüfung ist möglich! (Meiner Ansicht nach)

In diesem System könnten wir einfach einen Mock-Service verwenden (indem wir den Anruf an den Service in einer anderen Schnittstellen-basierten Klasse abschließen, die beispielsweise von einer Fabrik hergestellt werden kann). Dies würde UNSER Presenter-Code testen (es ist nicht erforderlich, EF / DAL als Unit-Test zu testen - das ist Microsofts Aufgabe!). Natürlich sind Integrationstests noch erforderlich, um das volle Vertrauen zu erreichen.

Wenn Sie in eine separate Datenbank schreiben wollten, würde dies in der DAL-Schicht erfolgen, die über die Konfigurationsdatei problemlos erreicht werden kann.

Mein Tuppence-Wert

Meiner Meinung nach - entscheiden Sie sich für das EF und lassen Sie sich nicht von dem Schicksal abschrecken, das die Runde macht. Ich vermute, dass es eine Weile da sein wird und MS die Fehler im nächsten Jahr ausbügeln wird. Laut Dan Simmons kommt PI definitiv rein.

EDIT : Ich habe gerade gemerkt, dass ich die Waffe gesprungen habe und wie ein guter Politiker die gestellte Frage nicht wirklich beantwortet hat. Hoppla. Aber ich lasse das, wenn andere es nützlich finden.


Beliebte Antwort

Die Stimme ohne Vertrauen listet mehrere Fehltritte und / oder fehlende Funktionen auf, die glauben, dass sie wissen, welche Funktionen und welche Implementierungen für ORM / Datamapper-Frameworks geeignet sind.

Wenn Ihnen keines dieser Probleme wichtig ist, kann ich nicht verstehen, warum Sie es nicht verwenden sollten. Ich habe noch nicht gehört, dass es ein fehlerhaftes Durcheinander ist, das links und rechts in die Luft geht. Alle Warnungen dagegen sind philosophisch. Ich stimme dem Misstrauensvotum zu, aber das heißt nicht, dass Sie es tun sollten. Wenn Sie die Art und Weise, wie EF arbeitet, mögen, dann machen Sie es. Gleichzeitig empfehle ich Ihnen, zumindest das Misstrauensvotum zu lesen und zu versuchen, ein rudimentäres Verständnis für jedes der Themen zu erhalten, um eine fundierte Entscheidung zu treffen.

Außerhalb dieses Problems und zum Kern Ihrer Frage - Sie müssen die erzeugte SQL-Komponente im Auge behalten, damit Sie Änderungen vornehmen können, bevor ein Leistungsproblem in Produktion geht. Selbst wenn Sie procs im Backend verwenden, würde ich immer noch nach Szenarien suchen, in denen Sie möglicherweise zu oft auf die Datenbank zugreifen, und dann Ihre Zuordnungen oder Abrufszenarien entsprechend überarbeiten.



Related

Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum