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!

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top