带有 XML 文件的实体框架 [关闭]

Posted

技术标签:

【中文标题】带有 XML 文件的实体框架 [关闭]【英文标题】:Entity Framework with XML Files [closed] 【发布时间】:2010-10-11 03:27:21 【问题描述】:

谁能给我一个很好的教程来解释使用 XML 文件而不是数据库的实体框架? 我看过一些关于 SQL 数据库的好教程,但我无法跳转到 XML 文件。

谢谢!

【问题讨论】:

您的意思是手动编辑 EDMX 而不是使用设计器?还是 XML 作为存储?就像 bdukes 说的那样,后者(目前)不受支持。 【参考方案1】:

实体框架本身是基于提供者的,并且设计 用于在关系数据库上进行操作。如果您真的愿意,您可以编写自己的 EF 提供程序来读取/写入 xml 文件,但这将是大量的工作量。

我希望您真的应该关注以下之一:

LINQ-to-XML XML(反)序列化 XPath/XQuery XSLT

实体框架在这种情况下自然不适合。

【讨论】:

如果你真的想要一个 XML 数据库,请查看这个项目:github.com/madskristensen/MiniBlog/blob/master/Website/app_code/…【参考方案2】:

Linq to XML 实际上并没有那么多。我会改用可序列化的解决方案。

【讨论】:

【参考方案3】:

我喜欢 LINQ to XSD:http://linqtoxsd.codeplex.com/

它基本上是 LINQ to XML,带有一些从 XSD 派生的类,以确保它适合架构...

【讨论】:

我发现这个工具非常有用 - 但是上下文菜单似乎没有出现在 vs 2010 中......【参考方案4】:

我认为这不可能。

来自MSDN(强调我的):

ADO.NET 实体框架旨在使开发人员能够通过针对概念应用程序模型进行编程而不是直接针对关系存储架构进行编程来创建数据访问应用程序。

【讨论】:

【参考方案5】:

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

【讨论】:

【参考方案6】:

您是否需要基于文件的数据存储?如果是这样,您可以使用 SimpleDB 数据提供程序。如果您需要一个文件中的关系数据库,SimpleDB 非常棒。 MS Access 也非常适合这一点。

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

【讨论】:

问题是关于实体框架,msdn.microsoft.com/en-us/data/ee712907。您的回答似乎没有考虑到这一点。

以上是关于带有 XML 文件的实体框架 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

实体框架 - Code First Bug [关闭]

带有实体框架的 ASP.Net Core Web API 使用存储过程有啥好处吗? [关闭]

带有存储过程的实体框架 VS LINQ to SQL VS ADO.NET? [关闭]

使用带有本地数据库文件 (Sdf) 的实体框架生成 C# 整数主键

带有 MySQL 的实体框架

带有 Sql 视图的实体框架在生成 .sql 文件中显示为表