Frage

Kann mir jemand deuten auf ein gutes Tutorial das Entity Framework Erläuterung einer XML-Datei anstelle einer Datenbank? Ich habe einige gute Tutorials mit SQL-Datenbanken zu sehen, aber ich kann nicht den Sprung in eine XML-Datei.

Danke!

War es hilfreich?

Lösung

Entity Framework selbst ist Provider-basiert, und ist entwickelt eine relationale Datenbank für den Betrieb über. Wenn Sie wirklich wollen, könnten Sie Ihren eigenen Anbieter für EF schreiben, die von liest / schreibt in eine XML-Datei, aber es wäre eine großer Menge an Arbeit.

Ich erwarte, dass Sie sollten wirklich an einen suchen:

  • LINQ-to-XML
  • XML (de) Serialisierung
  • XPath / XQuery
  • XSLT

Entity Framework nicht über eine natürlich fit in diesem Szenario.

Andere Tipps

Linq to XML ist gar nicht so viel eigentlich. Ich mit einer serializable Lösung gehen würde statt.

Ich mag LINQ to XSD: http://linqtoxsd.codeplex.com/

Es ist im Grunde LINQ to XML mit einigen Klassen aus dem XSD abgeleitet, um sicherzustellen, es das Schema paßt ...

Ich glaube nicht, das ist wirklich möglich.

MSDN (Hervorhebung von mir):

  

Das ADO.NET Entity Framework entwickelt, um Entwickler zu ermöglichen, den Datenzugriff Anwendungen durch Programmierung gegen ein konzeptionelles Anwendungsmodell erstellen statt Programmieren direkt gegen ein relationale Speicher Schema .

Sie können eine OLEDB-Verbindung zusammen mit einem FORXML Befehl verwenden ... aber Sie werden alle Funktionen nicht haben, die mit anderen Anbietern zur Verfügung steht ...

  • Ist das Problem, dass Sie einen dateibasierte Datenspeicher benötigen? Wenn ja, könnten Sie einen SimpleDB Datenanbieter verwenden. SimpleDB ist groß, wenn Sie eine relationale Datenbank in einer einzigen Datei benötigen. MS Access ist auch für diese große.

  • XML wird für die Kommunikation entwickelt. Wenn für die Lagerung verwendet wird, ist es unglaublich ineffizient. Es wäre am besten, die beiden Aufgaben auseinander und speichern Sie Ihre Daten in einer relationalen Datenbank zu brechen und dann XML aus Ihren Daten erzeugen.

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