【问题标题】:Local storage layer for Entity Framework?实体框架的本地存储层?
【发布时间】:2010-10-08 09:29:39
【问题描述】:

我一直在为我正在开发的业务应用程序实施支持 SQLServer 2005 的 EF 解决方案,并且运行良好。

我遇到了一个问题,我希望允许用户在使用相同实体的同时完全不使用数据库。

出于可移植性的原因,我不想访问本地数据库。此外,如果只是 XML 文件,通过电子邮件发送小型数据库也很容易。

所以,我知道可以存储 DataSet,并从 XML 文件、模式和所有内容中加载。有没有办法使用一个(或两个,或三个)XML 文件作为 EF 的存储层?

由于 Entity Framework 是建立在 ADO.Net 之上的,所以我期待有一个 XML 数据提供程序。然后,可以使实体模型运行 XML 文件。我遇到了 DataSet 设计器,它允许我创建架构并从 XML 文件保存和加载,但它没有插入 EF,因为 EF 使用对象服务而不是 DataSet(如果我错了,请纠正我。我读过它here at MSDN)。

我确实遇到了WilsonXmlDbClient library,它应该是 ADO.Net 的 XML DataProvider。它看起来很旧,我真的不知道从哪里开始。

我知道 XML 不是任何人存储关系数据的首选,但是,我希望使用 1Mb 或更小的文件。

TIA

【问题讨论】:

  • 所以我知道这不会以您希望的方式回答您的问题,但 SQL Express 是免费的。 . .为什么不提供您的数据库作为构建和加载数据库的 *.SQL 脚本呢?功能齐全,包括架构、存储过程、数据以及您需要/想要的任何其他内容。 . .免费,只需从知名的可信赖制造商处免费安装一次。

标签: xml entity-framework


【解决方案1】:

一种方法是使用 Microsoft 的同步框架。 http://msdn.microsoft.com/en-us/sync/default.

然后您将在客户端上使用 SQL Server express 或 Compact Edition。

同步框架以及 SQL Server Express 和 Compact 版本是免费的。

【讨论】:

  • +1 SQL CE + Sync 框架可能是最简单的方法。它不需要安装 - 它只是与应用程序一起部署的一组 dll,它在应用程序进程中运行。如果您不喜欢 SQL CE 的想法,您将不得不构建自己的数据提供程序和同步工具 - 有很多工作要做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多