Entity Framework的本地存储层?

5
我一直在为我正在开发的业务应用实现一个基于SQLServer 2005的EF解决方案,一切都进展顺利。但是,我遇到了一个问题,即我想让用户在使用相同的实体时无需使用数据库。出于可移植性原因,我不想使用本地数据库。此外,如果只是一个XML文件,通过电子邮件发送小型数据库很容易。
因此,我知道可以存储DataSet,并从XML文件中加载,包括模式等。是否有一种方法可以使用一个(或两个、三个)XML文件作为EF的存储层?由于Entity Framework是建立在ADO.Net之上的,所以我希望有一种XML数据提供程序。然后,可以将实体模型设置为运行在XML文件上。我找到了DataSet设计器,它允许我创建模式并从XML文件中保存和加载,但它不能与EF配合使用,因为EF使用Object Services而不是DataSet(如果我错了,请在MSDN这里纠正我)。
我确实找到了WilsonXmlDbClient库,它应该是一个用于 ADO.Net 的 XML 数据提供程序。它看起来有些陈旧,而且我不知道从哪里开始使用它。
我知道 XML 不是任何人存储关系数据的首选,但我只是想处理1Mb或更小的文件。
TIA

我知道这并不是你想要的答案,但是SQL Express是免费的……为什么不提供一个*.SQL脚本来构建和加载数据库呢?它是完全功能的,包括模式、存储过程、数据和任何其他你需要/想要的东西……没有成本,只需从一个知名的可信制造商进行一次免费安装。 - Frank Merrow
1个回答

2

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

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

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


+1 SQL CE + Sync framework 可能是最简单的方法。它不需要安装 - 它只是一组与应用程序部署的dll,并在应用程序进程中运行。如果您不喜欢SQL CE的想法,那么您将不得不构建自己的数据提供程序和同步工具 - 需要做很多工作。 - Ladislav Mrnka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接