Entity Framework with XML Files [closed]
-
03-07-2019 - |
Question
Can someone point me to a good tutorial explaining the Entity Framework using an XML file instead of a database? I have seen some good tutorials with SQL databases, but I can't make the leap to an XML file.
Thanks!
Solution
Entity Framework itself is provider-based, and is designed to operate over a relational database. If you really wanted to, you could write your own provider for EF that reads from/writes to an xml file, but it would be a huge amount of work.
I expect you should really be looking at one of:
- LINQ-to-XML
- XML (de)serialization
- XPath/XQuery
- XSLT
Entity Framework doesn't have a natural fit in this scenario.
OTHER TIPS
Linq to XML isn't all that much actually. I'd go with a serializable solution instead.
I like LINQ to XSD: http://linqtoxsd.codeplex.com/
It is basically LINQ to XML with some classes derived from the XSD to ensure it fits the schema...
I don't think that's really possible.
From MSDN (emphasis mine):
The ADO.NET Entity Framework is designed to enable developers to create data access applications by programming against a conceptual application model instead of programming directly against a relational storage schema.
You can use an oledb connection together with a FORXML command... but you will not have all functionality that is available with other providers...
Is the problem that you need a file-based data store? If so, you could use a SimpleDB data provider. SimpleDB is great if you need a relational database in a single file. MS Access is great for this as well.
XML is designed for communication. If used for storage, it is incredibly inefficient. It might be best to break the two tasks apart and store your data in a relational database and then generate your XML from your data.