我原来是先用SQLCE先从LINQ to SQL开始,然后转到Entity Framework,但是好像SQLCE太不灵活了。 (现在我什至不能删除一个表来重新创建它,因为它说我不能删除 PrimaryKeyA 因为它被 PrimaryKeyA 引用......所以我对以后能够修改它没有太大信心)
我需要灵 active ,因为应用程序将通过多次迭代发布,并且数据需要能够相当容易地更改。较新版本的应用需要能够直接或通过转换从旧版本读取数据。
部署需要轻量级,低于 10MB,但最好低于 5MB。用户将(不应该)在应用程序外部修改数据,他们不需要知道或关心数据的存储方式.
高性能不是问题,它只是单个用户的数据。现在我很想说只要使用 XML 就可以利用 LINQ to XML。但我想知道是否还有其他建议。我想要一些可以轻松与普通对象相互转换的东西,XML 序列化是否适用于此?
我想我正在寻找的是一种简单的方法来持久化对象,这些对象可以通过对象更改轻松更新到新版本。性能不是一个大问题,但至少对于中小量数据来说应该是可以接受的。 (基本上是单个用户食谱的电子形式的 cooking 书)
最佳答案
我建议使用 System.Data.SQLite .它通过 ADO.net 接口(interface)为您提供简单、高性能的 SQL,而且它是轻量级的。它也有很好的文档记录,使用命令行 sqlite.exe 客户端和其他工具很容易排除故障。 SQLite 的一个显着优势是它的类型相对宽松,因此您不必花太多时间处理模式。
我不知道它是否支持 LINQ,但它非常好。
关于c# - 轻量级灵活的数据持久化选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/871361/