有什么比序列化的XML更好的东西来存储c#中的简单数据库,可以在我自己的程序集中编译

本文关键字:数据库 我自己 自己的 编译 集中 程序集 程序 简单 XML 序列化 什么 | 更新日期: 2023-09-27 18:18:49

我正在制作一个简单的应用程序,需要存储一个简单的数据结构。这看起来像是序列化XML的作业,但是……我记得在某个地方读到过一些更适合这项工作的东西,但足够简单,可以在我自己的应用程序中编译。

我已经看过了SterlingDB,但看起来像是一个多余的,我将是一个痛苦的使它在我自己的程序集编译

你知道比序列化XML存储更好的东西吗?

edit:我知道SQLite, Compact SQL, db40,但我正在寻找一些微小的

有什么比序列化的XML更好的东西来存储c#中的简单数据库,可以在我自己的程序集中编译

您可以使用Google的" protocol buffers"二进制格式。Marc Gravell构建了一个。net实现。(注意,我自己从来没用过):

http://code.google.com/p/protobuf-net/

(来自Protobug网页):

它被设计为:

  • 小尺寸-高效的数据存储(远小于xml)
  • 处理成本低-在客户端和服务器端
  • 平台无关-在不同的编程体系结构之间可移植
  • 可扩展-向旧消息添加新数据

protobuf-net是这个特性的。net实现,它允许你高效、轻松地序列化。net对象。它兼容大部分。net系列,包括。net 2.0/3.0/3.5,。net CF 2.0/3.5, Mono 2。x、Silverlight 2等

(引号结束)

iBoxDB嵌入式nosql对象数据库,小于200K,包含许多功能,充满托管代码,没有任何'DllImport',将DLL嵌入到编译好的c#可执行文件中

在编译的可执行文件中嵌入dll,http://iboxdb.codeplex.com/

SQLite

http://system.data.sqlite.org

只要数据量不是太大,您就可以将数据集项添加到项目中并在数据集设计器中编辑它。它是强类型的,您可以使用LINQ查询它,并且它具有内置的保存XML和从XML加载的方法。