【发布时间】:2011-01-17 16:15:18
【问题描述】:
我应该使用什么?我需要存储数据,它只需要在本地机器上。我将存储所有字符串变量,并在许多列中。
什么是最好的?它甚至会是一个数据库吗?
【问题讨论】:
我应该使用什么?我需要存储数据,它只需要在本地机器上。我将存储所有字符串变量,并在许多列中。
什么是最好的?它甚至会是一个数据库吗?
【问题讨论】:
【讨论】:
SQL Server Compact 3.5 SP1 不需要安装(您只需要提供 .dll,但如果允许,请检查 EULA)并且使用起来相当简单。
【讨论】:
我会推荐使用 sqlite,它是一个非常快速的仅文件、可嵌入、功能丰富的数据库。我有一个lightweight ORM with C# bindings,它抽象并简化了对它的访问。这是live web-service demo using sqlite。
哦,是的,db4o 也是一个不错的选择,我也有 C# database bindings,因为它支持 C# 自动属性(因为默认的 db4o 提供程序不支持)和其他常见的数据访问场景。
【讨论】:
如果您正在寻找 RDBMS 或类似 MongoDB 的东西,如果您正在存储对象或类似的东西,您应该查看 SQLite。
【讨论】:
为什么不使用 SQL Server Express?它甚至是免费的。
【讨论】:
我强烈建议您查看序列化框架。它甚至不接近数据库的性能,但是,如果你不是在谈论大量数据,它的开销大约减少了 100%。在 .net 中将对象序列化为文件是小菜一碟:
XmlSerializer serializer = new XmlSerializer(typeof(myObjectType));
using(FileStream stream = new FileStream("file", FileMode.Create, FileAccess.Write)
{
serializer.Serialize(stream, myObject);
}
就是这样!
回读几乎是相反的。 LINQ 提供了更多选项。同样,就性能而言,这甚至不接近数据库,但我已经看到很多很多实现,其中数据库对于存储的数据量来说是极端过度的。显然,如果您有明确的扩展需求等,您将需要为此进行计划。解决正确问题的正确工具等等。
【讨论】:
如果您只是希望以相当简单的结构存储少量数据,并且不打算进行任何复杂的查询,那么请考虑使用 XML 文件。您不需要任何额外的软件,您可以使用LINQ to XML 轻松使用它。
【讨论】:
XML可以代替你的要求!
【讨论】: