Frage

Ich habe das Entity Framework verwendet ein ziemlich einfaches Beispielprojekt zu starten. In dem Projekt, ich habe ein neues Entity Data Model aus einer SQL Server 2000-Datenbank erstellt. Ich bin in der Lage, die Daten mithilfe von LINQ to Entities und Anzeigewerten auf dem Bildschirm abgefragt werden.

Ich habe eine Oracle-Datenbank mit einem extrem ähnlichen Schema (Ich versuche, um genau zu sein, aber ich weiß nicht alle Details von Oracle). Ich mag mein Projekt sowohl auf den SQL Server und Oracle-Datenspeicher mit minimalem Aufwand ausführen können. Ich hatte gehofft, dass ich einfach die Konfigurationszeichenfolge meiner Entity Data Model und der Entity Framework würde den Rest kümmern nehmen ändern könnte. Es scheint jedoch, dass nicht nahtlos funktioniert, wie ich dachte.

Hat jemand getan, was ich tun möchte? Auch ich versuche, eine Anwendung zu schreiben, die (und Aktualisierung) von Daten aus einem SQL Server oder Oracle-Datenbank mit minimalem Aufwand mit dem Entity Framework abfragen. Das sekundäre Ziel ist es, die Anwendung neu zu kompilieren, wenn hin und her zwischen Datenspeicher umgeschaltet wird. Wenn ich auf „Update Modell aus der Datenbank“, die in Ordnung sein könnten, weil ich nicht neu kompilieren, aber ich würde es vorziehen, nicht zu haben, diesen Weg zu gehen. Kennt jemand irgendwelche Schritte, die erforderlich sein könnten?

War es hilfreich?

Lösung

Was allgemein unter dem Begriff „Persistence Ignorance“ verstanden wird, ist, dass Ihre Entitätsklassen nicht mit Rahmen Abhängigkeiten überflutet werden (wichtig für N-Tier-Szenarien). Dies ist nicht der Fall, gerade jetzt, als Entitätsklassen bestimmte EF-Schnittstellen implementieren müssen ( „IPOCO“), wie auf einfache alte CLR-Objekte gegenüber. Als ein weiteres Plakat erwähnt wurde, gibt es eine Lösung Persistence Ignorance (POCO) Adapter für Entity Framework V1 für das, und EF V2 wird POCO aus dem Kasten heraus unterstützen.

Aber ich denke, was Sie wirklich im Sinn hatte, war die Datenbankunabhängigkeit. Mit einer großen Konfiguration XML, das Speichermodell, konzeptionelles Modell und die Zuordnung zwischen diesen beide, von dem eine typisierte Object zur Entwurfszeit erzeugt werden beinhaltet, ich es auch schwer zu Bild finden, wie transparent zwei Datenbanken unterstützen.

Was wahrscheinlich vielversprechend aussieht ist eine Datenbank-unabhängige ADO.NET-Provider wie die Anwendung von Datadirect . Datadirect hat sich auch im 3. Quartal EF Unterstützung angekündigt / 2008.

Andere Tipps

http://blogs.msdn.com/jkowalski/archive/2008/09/09/persistence-ignorance-poco-adapter-for-entity-framework-v1.aspx

Das Hauptproblem ist, dass das Entity Framework nicht mit Beharrlichkeit Ignoranz konzipiert wurde. Ich würde ehrlich Blick auf etwas anderes als Entity Framework verwendet wird.

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