2011-05-17 81 views
0

在用C#編寫的WCF服務中使用它會是一個不錯的選擇嗎?我目前正在使用FirebirdSql,但這給我太多問題。文檔和支持也很糟糕。SQLite是C#的不錯選擇嗎?

編輯:對不起,在問這個問題時我應該更具體。我的意思是SQLite是否是C#中的嵌入式數據庫的不錯選擇。 MS SQL對於這個問題不存在問題。

+2

這需要很長的需求清單才能成爲一個嚴肅的問題。 – 2011-05-17 20:54:29

+3

@pst:請在這裏添加您的評論,而不是在問題文本中 – 2011-05-17 20:57:19

+1

另外* pst *的編輯真的很奇怪。 – Snowbear 2011-05-17 20:58:50

回答

3

SQLite是任何語言的絕佳平臺,但也有小的關注,我在.NET與它。

  1. 它是本地編譯的。這打破了.NET的.NET的AnyCPU實現(即,您必須明確地分發應用程序的32位& 64位版本,並在.csproj(MSBUILD)文件中有一些手寫規則,以根據您選擇的內容選擇不同的依賴關係
  2. 它有一些棘手的線程問題,如果你試圖從多個地方使用同一個數據庫(應用程序的多個實例)等等,你會遇到麻煩。這是可行的,但它基本上使用簡單數據庫/表鎖的形式來實現這一點,這可能會根據你的程序是一個重大問題。

總之,我真的很喜歡SQLite的,但如果我能找到一個並不需要可再發行(*咳嗽* SQL Express *咳嗽*),我會用anoth呃爲.NET應用程序嵌入DBMS。到目前爲止,我還沒有找到一個Raven DB,但這是一個文檔數據庫。

編輯︰注意,Raven DB也是免費的開源應用程序。它不適用於專有應用程序,除非您願意掏腰包獲得許可證,所以在查看時請務必將其納入您的預算。

+0

之前有人sais它,是的,你可以分發一個32位版本,因爲它可以在64位下完美工作。 – Aren 2011-05-17 21:07:55

1

SQL Express很管用

+0

是的,但是設置請求使它有時不能被接受。問題是廣泛的。 – 2011-05-17 21:01:40

相關問題