1

即時通訊新的mvc和即時通訊首先嚐試一些東西的代碼。即時通訊我的dbase的問題,每當我建立我的應用程序的構建完成成功,但我沒有看到我的dbase得到創建時,只要我檢查我的本地服務器。想知道我的連接字符串是否有什麼缺失。mvc連接字符串代碼優先

<connectionStrings> 
<add name="mydbase" connectionString="Data Source=localhost;Database=mydbase;Trusted_Connection=yes;" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

或者我應該看看全局文件?我剛剛爲種子添加了一個初始化程序,沒有其他的,我沒有看到任何原因,爲什麼會搞砸了......

在此先感謝!

回答

1

數據庫在您使用與之相關的上下文之前未提交。

例如,在一個測試項目,我打電話給我的初始化

Database.SetInitializer<TestContext>(new TestContextInitializer()); 

,然後使用的上下文對某些任務即

_testContext = new TestContext(); 
var stuff = from te in _testContext.TestTable select te; 

它在這一點上創建的數據庫。

+0

你的意思是我需要從表中調用至少一個字段? 我在我的視圖中做了這樣的<%:model.FirstName%>,它給了我一個null參考。 是的,我有我的global.asax我使用斷點檢查相同的初始化器,它似乎應用程序運行它在調試模式.. – gdubs 2011-05-24 14:26:00

+0

從我所看到的,你需要使用上下文之前的某種方式魔術發生。在我的測試項目中,db是在執行linq語句之後創建的。 – 2011-05-24 14:28:52

+0

好吧,你是對的,我只是執行了EF代碼,然後創建了數據庫。現在我想知道爲什麼我看不到我的管理工作室的數據庫。我剛纔看到web dev express正在將數據庫創建到MSSQL_EXPRESS文件夾,該文件夾與管理工作室正在查看的MSSQL10_50文件夾的同一級別上。有沒有一種方法可以將開發人員快速指向管理工作室正在查看的文件夾?沒關係,你已經回答了我的問題。 :d – gdubs 2011-05-24 15:17:30

0

通常,在運行應用程序時創建數據庫,而不是在創建時創建數據庫。您可以查看關於不同數據庫初始化選項的following blog postAlwaysRecreateDatabase,CreateDatabaseOnlyIfNotExists,RecreateDatabaseIfModelChanges)。

+0

是的,我確實在檢查dbase之前等待它運行。我甚至嘗試在確保運行的同時運行調試。 – gdubs 2011-05-24 14:23:23

相關問題