我正在编写一个软件,它将用户交互的所有信息存储在全局会话对象/类中。我想将这些值存储在持久存储中。但是我不能在目标pc中使用重型数据库,如sql server或mysql,因为我需要保持安装程序的最小尺寸。
我还需要通过传递简单的Linq查询等来从存储中检索值。
我的问题是,可以通过C#代码操作数据库的下一个最佳选择是什么?
答案 0 :(得分:2)
SQL Server CE和SQLite在您描述的方案中很受欢迎。 XML也是
答案 1 :(得分:2)
可能是SQLite或SQL Server Compact Edition - 这些都是功能完备的数据库系统,而不是完全在进程中运行,并经常使用这些类型的东西(例如Firefox使用SQLite存储书签)
复杂性的下一步可能是XML(使用LINQ to XML),或者只是可序列化的对象(使用LINQ到对象) - 你当然会对像SQLite这样的“适当的”压缩数据库造成性能损失如果你开始存储大量数据,但是你可能需要存储比你想象的更多的存储,并且对于小数据集,简单性甚至会比SQLite更快(例如你可以限制你的应用程序存储最后一个100左右的行动)。
答案 2 :(得分:0)
您可以连接到Access MDB文件。您不需要SQL服务器,它使用相同的语法。 只需要使用OleDb。
示例:DataEasy: Connect to MS Access (.mdb) Files Easily using C#