我最近採用ASP.NET MVC開展了一個新項目,並且我對這項技術並不熟悉。我仍然處於早期階段,我即將開始自學如何使用Entity Framework來處理我的數據訪問代碼。我只是遇到了一段相當艱難的時間,使得軟件/工具/功能可以做什麼,但我認爲我正在與EF合作。實體框架和不同的環境(開發/生產)
我正在尋找能夠看到我的本地數據庫與我的生產數據庫(架構,而不是實際的數據)中的差異,並能夠發佈到SQL Server在我們的本地網絡中。在我看來,我認爲它就像數據庫的DVCS一樣。
傳統意義上(像大多數人會說的)我會在自己的代碼或存儲過程中使用SQL編寫自己的數據訪問代碼,我會自己處理數據庫方面的事情。這對我來說不再是一種選擇,但是因爲我需要爲開發和生產建立獨立的環境,並且我沒有時間和意願來手動編寫所有代碼。開發人員將在開發機器本地,生產將託管在本地網絡上的服務器上。
我最近開始在Visual Studio中使用「發佈」功能,並且設法將其設置得很好,將新版本發佈到我的IIS服務器正在查看的目錄中,以便爲網站提供服務。
我使用Git和Sourcetree來處理我的項目代碼的DVCS,但是我從未親自使用過或找到過對數據庫做類似的解決方案。起初我以爲我正在爲SQL Server尋找某種DVCS,但那並沒有太大的回報。本質上,我只是想要某種工具來管理本地和生產數據庫之間的版本差異,我認爲這是EF可以爲我做的事情。
對於數據庫,我使用的是SQL Server。我還沒有爲這個項目建立一個數據庫,所以我想代碼優先的EF將是最好的方法。我想確保EF在SQL Server中使用數據庫,但我相信我可以通過指定要使用的連接字符串來設置,而不是在Visual Studio中使用該數據庫。我偶爾需要通過SSMS訪問數據庫,所以我可以使用索引和備份計劃,這樣我通常可以通過SSMS來完成,但我仍然希望EF爲我完成大部分工作。
- 我可以通過實體框架以我希望的方式實現我期望的目標嗎?也就是說,有一個處理數據庫差異和版本間更新的工具? 我不想弄清楚哪些表/列等我已經在本地進行了更改,並且必須以某種方式將其應用到生產數據庫中,但我也不希望生產數據庫中的數據發生更改,只是結構...
- 我很樂意爲任何人提供關於如何構建這個設置的建議,甚至鏈接到如何設置它的教程。我確定我不是第一個想做這件事的人,我知道我不會是最後一個。
本質上我只想單擊「發佈」按鈕,並將代碼和數據庫中的所有本地差異發佈到生產服務器。
看一看遷移。 https://msdn.microsoft.com/en-in/data/jj591621.aspx#script – jvanrhyn