2009-10-16 290 views
9

我正在製作這個微小的實用程序(Windows窗體),它需要將一些數據保存到磁盤。用數據庫術語來說,它大概是一張表,不超過大約幾千行,每行大小不超過1KB。.NET中的快速嵌入式數據庫有哪些選擇?

你會用什麼?

加入:忘了說 - 如果整個程序只是一個.EXE文件(當然還有數據文件),那將是非常整潔的。因此我更喜歡.NET中構建的東西。

回答

23

SQLite。它很小,有.Net的great wrapper

+0

+1。我不知道.NET的包裝器。很酷。 – 2009-10-16 15:06:43

+1

而.NET端口http://code.google.com/p/csharp-sqlite/ – mcintyre321 2009-10-16 15:22:13

+0

正如對SQLite包裝的補充警告一樣,它支持LINQ。 – 2009-10-16 15:52:43

8

您可以使用SQL Server Compact Edition(隨Visual Studio提供)或SQLite

還有很多其他的,但這些是最常見的。

我是SQLite的忠實粉絲,因爲它很小,簡單而且快捷。它有一個很棒的ADO.NET provider,它支持實體框架。

3

如果你使用的是嵌入式數據庫,那麼SQL Server Compact Edition可能是你最好的選擇,SQLite緊隨其後。

如果你正在談論一張表,這聽起來像一個嵌入式數據庫可能是矯枉過正,你可以更好地通過一個簡單的文本文件。

2

我第二次投票SQLite。除非您需要與中央數據庫輕鬆同步,否則SQL Server CE對於任何嵌入式目的來說都太重了 - 那太棒了。

4

如果你正在談論一張表,我不明白爲什麼你覺得你必須使用關係數據庫來實現你的目標。那麼單個文件呢?

當然,根據您需要存儲信息的原因以及數據相關的方式,您可能有理由需要db。但是你應該考慮一下,在這種情況下,數據庫是否真的是你需要的。

關係數據庫不應該是存儲數據的事實標準。在選擇RDBMS之前,您應該考慮許多備選方案。

查看mcintyre321的帖子。

+0

有趣的是,人們如何看到「DB」這個詞,並立即鎖定DBMS的思維。我有沒有說我想要一個完整的DBMS?的確,我更關心平面文件解決方案,XML序列化等等。我只是想知道其他人會做什麼,爲什麼或不會選擇一些解決方案。 +1 – 2009-10-16 14:21:02

+0

我很想知道什麼是最快的平面文件格式和庫來查詢它。最常見的問題是,在搜索沒有後臺引擎的平面文件來生成索引時,您沒有索引的好處。 – 2009-10-16 15:05:57

+0

這將與嵌入式數據庫管理系統有關。平面文件是平坦的,因爲它們沒有索引。恕我直言。 – 2009-10-16 17:47:50

1

對於小而簡單的事情,我可能會去用XML而不使用數據庫。如果您抽象CRUD代碼,您可以稍後修改代碼的數據層部分,以便在數據增長的規模和複雜性時使用數據庫。

0

如果它不一定是SQL兼容的數據庫,那麼我也會看看Db4o。 Db4o是Java和.NET的對象數據庫。 .NET版本完全用C#編寫。

3

您可以創建一個類的數組,將其標記爲[Serializable],並使用內置的serialize/deserialize方法進行持久化。

0

我第二次SQL精簡版或放氣的作家,以儘量減少大小簡單的XML文件的有趣的信息。快速,沒有那麼髒。

0

試試這個:https://github.com/mdsoftware/mData。沒有第三方,包括所有資源,還包括一些像Lisp一樣的數據處理和表達式編譯器。我試圖讓一些非常簡單但功能性很強的東西。

相關問題