C# 带有XML文件的实体框架

C# 带有XML文件的实体框架,c#,.net,xml,entity-framework,C#,.net,Xml,Entity Framework,有人能给我介绍一个很好的教程,解释使用XML文件而不是数据库的实体框架吗? 我已经看过一些关于SQL数据库的好教程,但是我不能跳过XML文件 谢谢 我认为这是不可能的 来自(我的): ADO.NET实体框架旨在使开发人员能够根据概念应用程序模型编程,而不是直接根据关系存储模式编程,从而创建数据访问应用程序 实体框架本身是基于提供者的,设计用于在关系数据库上操作。如果您真的愿意,您可以为EF编写自己的提供者,用于从xml文件读/写xml文件,但这将是一项巨大的工作 我想你真的应该看看其中一个:

有人能给我介绍一个很好的教程,解释使用XML文件而不是数据库的实体框架吗? 我已经看过一些关于SQL数据库的好教程,但是我不能跳过XML文件


谢谢

我认为这是不可能的

来自(我的):

ADO.NET实体框架旨在使开发人员能够根据概念应用程序模型编程,而不是直接根据关系存储模式编程,从而创建数据访问应用程序


实体框架本身是基于提供者的,设计用于在关系数据库上操作。如果您真的愿意,您可以为EF编写自己的提供者,用于从xml文件读/写xml文件,但这将是一项巨大的工作

我想你真的应该看看其中一个:

  • LINQ到XML
  • XML(反)序列化
  • XPath/XQuery
  • XSLT

实体框架并不适合这种情况。

Linq到XML实际上并不是那么合适。我会选择可序列化的解决方案。

我喜欢LINQ到XSD:


它基本上是LINQ到XML,其中一些类是从XSD派生的,以确保它符合模式…

您可以将oledb连接与FORXML命令一起使用。。。但您不会拥有其他提供商提供的所有功能…

  • 问题是您需要基于文件的数据存储吗?如果是这样,您可以使用SimpleDB数据提供程序。如果您需要在单个文件中使用关系数据库,SimpleDB非常好。MS Access在这方面也很好

  • XML是为通信而设计的。如果用于存储,则效率极低。最好将这两个任务分开,将数据存储在关系数据库中,然后从数据生成XML


您的意思是手动编辑EDMX而不是使用设计器吗?还是XML作为存储?正如bdukes所说,后者还不受支持。我发现这个工具非常有用-但是上下文菜单在VS2010中似乎没有出现。问题是关于实体框架。您的答案似乎没有考虑到这一点。如果您真的想要开发XML数据库,请签出此项目: