所以我正在爲大學開發一個ASP.NET項目。我們必須將我們的代碼上傳到運行IIS和SQL Server 2008的服務器。我使用MVC Code-First EF編寫了我的項目。我知道實體框架系統需要創建數據庫才能正常工作的權限(您不能只給它一個空的數據庫並讓它填充數據)。這對我造成了一個問題,因爲我在共享SQL Server上沒有數據庫創建權限。有沒有辦法解決?ASP.NET MVC代碼 - 首先EF - 可能使用沒有數據庫創建權限的EF?
0
A
回答
0
您可以使用現有的數據庫,而不是讓EF爲您創建一個。我自己做了這個,但是隻有在使用EF遷移時纔會這樣做。否則,你會遇到缺少表格異常的問題,以及什麼不是。
使用遷移時,只需將您的連接字符串指向空數據庫,創建一個初始遷移以用您的模式填充數據庫,然後更新數據庫本身。
看到這個答案:How do I create a migration for an existing database in EntityFramework 4.3?
..這包括這個漂亮的鏈接開始使用EF遷移:http://thedatafarm.com/blog/data-access/using-ef-migrations-with-an-existing-database/
這一切都是可以通過的NuGet,如果你有機會獲得Pluralsight內容,我可以強烈推薦Julie Lerman關於這個話題的視頻。
如果您不想使用遷移,如果您只是使用SMMS手動創建數據庫對象,則仍然可以使用Code First,但顯然您需要手動完成保持模型和數據庫同步的工作。
2
由於您沒有權限,聽起來您需要讓DBA在您要部署的服務器上創建數據庫 - 這可以通過數據庫創建腳本或從一個數據庫創建腳本數據庫備份你的開發機器上的數據庫。這時你可以先指示EF代碼,不要試圖通過(之前你第一次訪問或者實際上任何地方的數據庫)中添加這一行到您的Global.asax中自動創建/更新數據庫
Database.SetInitializer<YourContextType>(null);
相關問題
- 1. EF代碼首先創建
- 2. EF代碼首先不會創建新的數據庫
- 3. EF 4.2代碼首先,使用現有的數據庫?
- 4. 首先使用現有MySql數據庫的EF代碼
- 5. 如何強制EF代碼首先重新創建數據庫?
- 6. 代碼首先在EF不創建數據庫
- 7. MVC EF數據庫首先多對多
- 8. EF代碼優先的最小數據庫權限DropCreateDatabaseIfModelChanges
- 9. 創建用戶和角色,而首先使用EF代碼種子數據庫
- 10. EF 6.1.2數據庫首先查看代
- 11. 錯誤在Azure上首先使用EF代碼創建數據庫
- 12. 如何首先使用EF代碼重置數據庫遷移?
- 13. EF代碼首先,使用代理創建新對象集合
- 14. 無法使用EF-Code首先重新創建數據庫
- 15. 在EF代碼首先
- 16. EF代碼首先與Distinct()
- 17. 異常在EF使用代碼首先
- 18. ASP.NET Mvc項目EF代碼首先啓用遷移錯誤
- 19. C#EF代碼優先 - 創建數據庫並添加數據
- 20. EF代碼優先 - 創建數據庫 - 用戶登錄失敗
- 21. EF代碼首先任何人都有可能的DataAnnotations列表?
- 22. 不能先在ASP.NET 5項目生成EF數據庫代碼
- 23. EF代碼優先 - 刪除後創建數據庫然後創建數據庫
- 24. 缺點 - 使用EF 6.x.x代碼首先沒有遷移
- 25. EF 6代碼首先從數據庫模型生成錯誤
- 26. 表結構不能正確地從基類中創建EF代碼首先MVC
- 27. 如何顯示來自兩個表的數據首先代碼EF ASP.NET MVC 5
- 28. 如何創建「動態」數據庫結構(EF代碼優先)
- 29. EF 5.0代碼先退出創建數據庫
- 30. EF代碼先不要創建數據庫