我正在重构一个应用程序,决定使用移动/嵌入式数据库。我一直在阅读SQL Server Compact Edition的相关资料,但我想知道是否有其他可以使用的数据库,且下载大小不会太大,因为我的当前应用程序大约只有2MB(安装程序)。SQLite也是不错的选择,但据我所知,目前LINQ-to-SQLite的GSoC实现相当有缺陷。谢谢!
我曾经尝试过db4o(不是紧凑版)-它是一种对象数据库。然而,根据您的需求,它可能是一种相当舒适的使用方式。他们指出,即使对于紧凑版,他们也支持Linq: http://www.db4o.com/s/compactframeworkdb.aspx
VistaDB和(如您所提到的)Sql Server Compact Edition是嵌入式数据库的两个小型选项。Sql Server Compact Edition可与Linq to SQL或Entity Framework一起使用。我相信VistaDB可以与Entity Framework一起使用。
此外,如果您不需要关系型数据库,您可能需要考虑db4o。Rob Conery在这里写了关于它的文章。
希望这可以帮助您!
我自己没有使用过,但你可能想看看BlackFish。我不确定它是否支持Linq,但Delphi支持Linq,所以它可能会支持。另一个选择可能是Embedded Firebird - 同样,对于Linq方面我也不确定。