2011-03-12 36 views
0

我正在構建一個C#/ WPF作業搜索跟蹤應用程序,以跟蹤提交的簡歷,訪談,跟進等,並且不確定存儲數據的最佳方式。你在哪裏/如何存儲數據?我的第一個想法是用XML來保持簡單,但似乎我應該「模擬」我的數據,因爲會有很多相關的信息位。 SQLite會是更好的選擇嗎?其他建議?存儲應用程序數據的位置

回答

4

因爲我假設你想要查詢和更新數據,我甚至會建議像Entity Framework這樣的ORM - 這很容易上手,如果你之前使用過LINQ,查詢和更新等基本的東西將會非常簡單 - 節省您編寫自己的SQL查詢的麻煩。如果您決定這麼做,這也可以讓您在稍後擴展您的模型。

編輯:

有自成一體重量輕的選擇,將仍然允許您使用LINQ:

SQL Server Compact

的Microsoft SQL Server Compact是一個免費 SQL Server嵌入式數據庫非常適合 獨立建立,偶爾會有 co移動 設備,桌面和Web客戶端的應用程序。

這裏是描述如何讓LINQ to SQL在其上工作的一個article。顯然你也可以使用use LINQ to Entities,但是有一些怪癖(比如設計時支持),你必須要解決。

SQLLite

的SQLite是 實現了一個自包含的,無服務器 ,零配置,事務性 SQL數據庫引擎的軟件庫。 SQLite是世界上部署最廣泛的SQL數據庫引擎。

有一個LINQ提供程序叫DBLinq 作爲@Robert哈維在他的回答中指出有(幾乎)爲EF的全力支持,因爲有一個爲SQLLite的ADO.NET提供:

支持在ADO.NET 3.5實體 框架

支持 Sql Server的支持幾乎所有的 實體框架的功能,並傳遞的 在MS的測試99%的EFQuerySamples演示 應用程序。

+0

謝謝。我剛剛學過實體框架,並希望使用LINQ to Entities,但我希望找到一個輕量級的單個文件數據存儲/提供程序。有什麼建議麼? – BrazenTongue 2011-03-12 07:48:23

+0

@BrazenTongue:用備選方案更新答案 – BrokenGlass 2011-03-12 16:28:38

3

通常,您想要將應用程序中的數據存儲在數據庫中。對於WPF和C#,該數據庫通常是SQL Server或SQL Server Express,因爲Visual Studio 2008可以輕鬆地與這些數據庫集成。

不要爲此使用XML。XML不打算成爲一個大規模的存儲介質; XML的目的是爲不同的計算機系統提供一種通用語言來相互交流。

SQL Server Express可在任何Windows PC上使用;你只需要使用一個命名實例deploy the redistributable,。另請參閱http://msdn.microsoft.com/en-us/library/dd981032(SQL.100).aspx。如果它是一個小應用程序,並且你想變得更簡單,那麼可以使用SQL Server Compact Edition或SQLite與ADO.NET provider.

+0

好的,謝謝。但我真的寧願不必依賴運行的SQL Server實例。我希望它可以部署到任何Windows PC。 – BrazenTongue 2011-03-12 07:46:56

+0

請參閱我的編輯.... – 2011-03-12 15:35:49

+0

對於SQLite ADO.NET提供程序鏈接+1 – BrokenGlass 2011-03-12 16:40:22

相關問題