到目前为止,在我的应用程序中,我通过序列化存储了所有数据,所以我从来没有真正需要其他任何东西。但现在我正在使用更复杂的数据,我需要的不仅仅是一个简单的文件来存储它们。我可以使用Windows中的一些内置存储引擎,这将允许我使用SQL查询来提取和编辑数据吗? (因为我怀疑用户是否愿意为我的应用程序安装和配置独立的MySQL服务器而且我真的不想使用第三方解决方案) 如果有,我怎样才能访问这样的数据库引擎?
答案 0 :(得分:4)
是的,Windows确实有一个嵌入式数据库引擎,自Windows 2000以来一直存在。它被称为Esent。
有一个名为Managed Esent的项目,用于向管理代码公开Esent的功能。它有一个NuGet package。
我不知道它是否符合您通过SQL查询更新的确切需求,但它确实具有许多功能:
答案 1 :(得分:2)
SQLite是一个软件库,它实现了一个独立的,无服务器,零配置的事务SQL数据库引擎。
SQLite可以在不要求App用户安装SQLExpress或任何其他数据库引擎的情况下工作,使其成为桌面应用程序的理想选择。
答案 2 :(得分:2)
将SQLite用作独立数据库并集成部分应用程序。 主要好处:
答案 3 :(得分:0)
我在Microsoft网站database info上找到了有关数据库的一些信息 有一个嵌入式数据库引擎。 Esent
答案 4 :(得分:-1)
不,没有可用的内置数据库。 但是有很好的选择,比如mqsql express服务器或SQLITE数据库,它基本上是一个单独的数据库文件,可以通过项目中的库访问。因此,如果您使用SQLITE,则无需安装任何内容。
答案 5 :(得分:-2)
如果它是一小组用户特定数据,则在Windows注册表中存储是一个不错的选择。