2009-08-22 54 views
0

我有一個使用SQL Server,實體框架,C#和WCF編寫的簡單應用程序。當我想與我的朋友分享這個應用時,我意識到他們沒有在他們的機器上使用SQL Server。我可以使用SQL Server Express版本,因爲我的應用程序的用途是個人的和非商業的。替代SQL Server的簡單網絡應用程序

我發現MySQL是SQL Server的流行替代品。

1)移動到MySQL時,我需要更新我的實體嗎?

2)由於實體層的變化,我是否應該預測BL層中的代碼更改? (我想知道是否實體是爲SQL Server構建的)

是否有與MS Access類似的輕量級數據庫?

是否有任何數據庫不需要安裝,但可以像MS Access一樣複製?

感謝您的回覆!

+2

只需注意:您也可以將Express用於商業應用程序,無需調出即可用於個人用途。 – 2009-08-22 18:12:36

+0

[linqdb](https://github.com/ren85/linqdb) – ren 2016-09-16 13:46:13

回答

3

我不知道你的BLL是怎麼樣的,我沒有實體框架的經驗,但是我經歷了多次linq-to-sql在sql-server上的工作,比其他任何數據庫都好。

所以,除非你有一個很好的理由使用SQL Express的,我會的意見,堅持到SQL Express。

畢竟,您應該在部署時總是安裝一些東西(除非您使用xml作爲存儲,這對於linq-to-xml來說非常有可能)。

7

聽起來像你想SQLite

SQLite是一個軟件庫, 實現了一個自包含的,無服務器 ,零配置,事務性 SQL數據庫引擎。

非常容易部署。另外,請查看System.Data.SQLite

按照System.Data.SQLite網頁...

支持該SQL 服務器支持幾乎所有的實體 框架的功能,並通過了測試 99%的MS的EFQuerySamples演示 應用。

你應該很好。 :)

+0

適合System.Data.SQLite。我仍然投票選出VistaDB作爲潛在的選擇(請參閱我的回答) – galaktor 2009-08-22 17:48:55

+0

ADO.NET Entity Framework是否支持? – 2009-08-22 17:56:43

+0

不確定你的意思是VistaDB或SQLite,但是關於VistaDB:是的。請參閱http://www.vistadb.net/vistadb3/sample-code.aspx – galaktor 2009-08-22 19:49:10

2

VistaDB Express Edition也是免費的非商業用途,並集成良好的.NET和VS. afaik它也可以在單個本地數據文件上工作,因此不需要在朋友的計算機上進行特定安裝。

否則,我建議在MySql上使用PostgreSQL,因爲它更符合標準並且擁有更好的許可證。

2

我認爲你所追求的只是提供者的變化。你需要使用MySQL的是.Net Connector,它支持大多數簡單的事情。它還不是很成熟,所以你可能會遇到一些非常複雜的問題,但它應該通過Entity Framework完成你想要的大部分工作。

實體框架你可以做的更新,這是LINQ到SQL不針對任何其他數據庫更新(除非你使用第三方供應商像DotConnect

SQLite是一個另類,但由於針對它的多個線程可能會導致操作的主要問題,所以如果您需要一個主要的數據存儲,我會使用SQLExpress或MySQL。

2

是的,你可以使用MySql和EF,但我不知道它是否需要改變....如果它確實如此,我不會感到驚訝。至少你的物理數據庫必須被移植/轉換爲MySql,這需要時間。

我會假設,如果你需要在你的朋友上安裝一個數據庫,爲什麼不使用SQL Express,因爲你已經在你的盒子上的SQL Server中開發了。與遷移到MySql相比,應該減少這個問題。

0

我也爲VistaDB 3投票,因爲它很容易部署。

+0

下次您也可以對您同意的答案進行最後投票並添加評論。它會做我的代表一些好;) – galaktor 2009-08-22 17:07:57

+0

公平點 - 完成! – 2009-08-22 19:23:55

+0

謝謝丹丹:) – galaktor 2009-08-22 19:46:54

相關問題