我們遇到了將Web應用程序部署到另一個環境的小問題。 我們使用實體框架代碼優先方法(使用模型創建的數據庫自動創建)來創建應用程序的數據庫。 在此開發環境中,我們正在使用集成安全性,並且這些表是在dbo用戶下創建的。該表是像
[DBO]。[myTable的]實體框架代碼優先和數據庫用戶
對於我們其他的環境中,我們使用用戶名/密碼認證的數據庫。 我們編寫了表格並在DB上創建了它們。所以他們現在命名爲喜歡
[myDbUser]。[myTable的]
運行應用程序時,我們總是會遇到的問題
無效的對象名稱DBO。 myTable的」。
似乎代碼仍在嘗試尋找一個dbo表,它不存在,因此失敗。
誰能解釋一下這個問題嗎?實體框架從哪裏獲取這個dbo前綴?
感謝
指定架構和你將如何在流利做到這一點? (沒有屬性) – Ronald 2011-06-05 19:40:30
Littlefool,重寫OnModel創建你的數據庫上下文類並在那裏指定映射。這裏是一個例子:http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4-code-first-custom-database-schema-mapping.aspx – 2011-06-05 19:47:25
我試過了。唯一的事情是,當我調試我看到代碼永遠不會在OnModelCreating方法。我的印象是它從一些緩存源獲取模型。 – Ronald 2011-06-05 20:02:30