48

Is there a method to use an XML file instead of a database in the Entity Framework?

1
  • Do you mean manually editing EDMX instead of using the designer? Or XML as storage? Like bdukes says, the latter isn't supported (yet). Commented Mar 3, 2009 at 22:31

6 Answers 6

46

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.

Sign up to request clarification or add additional context in comments.

1 Comment

If you really want to pursue a XML database, checkout this project: github.com/madskristensen/MiniBlog/blob/master/Website/app_code/…
3

Linq to XML isn't all that much actually. I'd go with a serializable solution instead.

Comments

2

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...

1 Comment

i've found this tool very useful - however the context menu doesn't seem to show up in vs 2010..
0

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.

Comments

0

You can use an oledb connection together with a FORXML command... but you will not have all functionality that is available with other providers...

Comments

0
  • 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.

1 Comment

The question is about Entity Framework, msdn.microsoft.com/en-us/data/ee712907 . Your answer seems to not take that into account.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.