Windows Phone支援的資料庫有哪些,不同資料庫有什麼優缺點,搜尋了網上的相關資源,整理一下:
Windows Phone 7 database
http://winphone7db.codeplex.com/
Windows Phone 7 database是一個基於Isolated Storage (隔離儲存區 (Isolated Storage))來實現的資料庫,發布在codeplex的開來源資料庫,使用MS開源許可證,可以自由使用到開源或者商業項目中,優點是免費,footprint非常的小,支援LINQ。缺點是太新,沒有商用經驗,穩定性不明確,沒有管理工具,不支援SQL。
Perst Embedded Database For Microsoft Windows Phone 7
http://www.mcobject.com/perst_evalPerst是一個開源的對象資料庫(object-oriented embedded database system),有.NET和Java的實現。 .NET的實現支援Silverlight和Windows Phone 7。這是雙許可證,GPL和商用。GPL免費用在開源項目,商用需要購買許可證。支援多平台:.NET, .NET Compact Framewrok, Silverlight, Windows Phone.支援LINQ和JSQL,豐富的文檔和例子程式。Footprint不大也不小,499k。
db4o
http://developer.db4o.com/db4o 是老牌的對象資料庫(object-based database), 有Java和.NET版本的實現。 db4o for Silverlight版本可以用於Windows Phone。 db4o文檔和例子程式都非常的豐富。支援Mono, .NET, .NET Compact Framework和Silverlight等平台,是最為成熟的產品。 其支援LINQ也同時支援原生查詢,功能非常強大。db4o採用雙許可證,GPLv2和商用,開源免費使用,商用需要購買。由於功能十分強大,footprint也非常的大,光Db4objects.Db4o.dll就有688k,加上其他組件差不多1M的大小。
siaqodb
http://siaqodb.com/siaqodb 是一個非開源的對象資料庫, 可以運行在.NET 3.5+, Mono 2.4+, Silverlight 3/4 以及Windows Phone. LINQ是唯一支援的介面,不支援SQL,由於只是支援高版本,沒有相容性問題,footprint非常的小,只有128k,非常適合使用在Windows Phone上。而且siaqodb包含了Windows Phone 7的例子程式,方便開發,文檔也比較全,還有包含查詢工具,非常好用。是我覺得比較好的選擇。唯一考慮的是非開源,只有商業許可證,$180個人許可證。還在考慮是否購買ing。
Sqlite for Windows Phone 7
http://sviluppomobile.blogspot.com/2010/03/sqlite-for-wp-7-series-proof-of-concept.html
Sqlite大名鼎鼎的嵌入式資料庫,基本是智能手機裝置的事實標準。Sqlite for Windows Phone 7修改自C# Sqlite,把儲存介質改為Isolated Storage。其實我開始的時候偏向與使用Sqlite,因為其方便易用,移植性強,具有大量的商業經驗,管理工具也十分的豐富,而且完全免費使用,沒有許可證限制。但是Sqlite比較大,有514k,而且不支援LINQ,甚至不支援ADO.NET,只是支援sqlite原始的API,開發很不方便,例如讀出的結果集不能放到DataSet和DataReader裡面。
EffiProz Database for Windows Phone 7
http://www.effiproz.com/product_wp.aspx
http://effiproz.codeplex.com/
EffiProz Database 是另外一個開源的RDBMS資料庫,支援Windows Phone,支援預存程序,觸發器等功能,支援ADO.NET甚至Entity Framework,功能也異常強大。支援雙許可證,開源使用MS開源許可證,商用單使用者$400。可是這個資料庫的footprint非常大,1361k,這麼大的footprint令我失去了使用的興趣了。同時開源版本不怎麼更新,新功能模組都在商業版上實現。
SQL Server CE
Windows Phone的本機資料庫SQL Server CE是7.1版本即芒果更新的新特性,所以你要在應用程式中使用SQL Server CE資料庫必須使用Windows Phone 7.1的API才行。
參看文獻:
Windows Phone 本機資料庫概述 http://msdn.microsoft.com/zh-cn/library/hh202860(v=vs.92).aspx
淺談Windows Phone 7本機資料庫的選擇 http://www.cnblogs.com/procoder/archive/2010/09/27/windows-phone-database.html
Windows Phone 7 本機資料庫SQL Server CE(芒果更新)http://www.cnblogs.com/linzheng/archive/2011/06/08/2075593.html