2009-06-12 177 views
10

什麼是WPF應用程序的最佳解決方案,目的是用於一臺計算機其中各種用戶登錄到他們並使用它們獲取/保存本地信息?以下是我看到的選項:WPF應用程序的最佳本地數據庫解決方案是什麼?

  • MDF似乎是最好的選擇,因爲我認爲你可以鎖定它很舒服,所以即使用戶可以訪問的.mdf文件,他們仍然couldn」除了通過應用程序本身之外,它可以訪問它中的數據。我假定.MDF文件必須與應用程序分開存在,因此會部署.exe和.mdf文件。噢,如果您使用.MDF文件,用戶是否需要安裝SQL Server才能使用它indicated in this stackoverflow question一樣?

  • 我認爲SDF不會被推薦,因爲它有相當多的限制,主要用於移動存儲。

  • XML可能是合適的,如果安全沒有關係,例如,一個小型的單用戶應用程序,用於保存本地無法保護的數據,並且該文件可以被計算機上的其他應用程序/網站輕鬆訪問。

  • SQLite可能是一個選擇,但從我所知道的這個數據庫的.NET的API是不健壯的,是嗎?

  • .mdb如果您需要用戶編輯/查看數據或使用Access生成報告,訪問可能是一種選擇。

  • 還有IsolatedStorage但我認爲這有嚴重的侷限性,是嗎?無法從其他應用程序訪問它?

  • 也許使用雲服務可能是可行的,且相當直進的今天,就必須研究

將不勝感激任何意見或想法。

回答

2

我會說SQLite。它的重量非常輕,易於使用,API也很好。您始終可以使用DbLinq作爲ORM。

3

我會選擇SQLite。你可以在這裏得到了ADO.NET兼容的驅動程序:

System.Data.SQLite

+0

? – 2009-06-12 15:26:06

+0

您將如何保護數據,以便具有適用於Firefox的SQLite管理器插件的用戶(https://addons.mozilla.org/en-US/firefox/addon/5817)無法將其打開並讀取/寫入它,有沒有辦法做到這一點? – 2009-06-12 15:27:59

1

SQL Server精簡版是因爲以下好處我的選擇:

您可以與您的應用程序
  • 兼容的LINQ到SQL分發
    • 一個小型運行時庫(搜索「SqlMetal.exe」)
    • 與Visual Studio集成的設計體驗2008

    這是一個不錯的多面手,作爲一個.NET應用的輕量級解決方案。

    http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx

  • 0

    MDF似乎是最靈活的解決方案,但用戶需要有SQL Server Express的安裝使用它。

    您如何計劃執行CRUD流程?如果您想要使用Linq to SQL,那麼您只能支持SQL 2005,Sql 2008和Sql Compact。

    此外,應用程序是否需要斷開連接,部分完全連接到互聯網?這可能會對你的決定產生一些影響。

    國際海事組織,我會從SQL Server精簡版開始,如果這太限制移動到sql server express。 (.MDF)LINQ-to-SQLite在五個月前似乎沒有成爲現實,那麼從那以後有沒有變化?(.MDF)

    相關問題