我在Visual Web Developer 2010 Express中工作,並使用實體框架代碼優先CTP。我能夠用新的SQL Server CE做到這一點,但我無法找到連接字符串來與SQL Server Express一起工作。Entity Framework的SQL Server Express連接字符串代碼優先
這一個,使用SQL Server CE測試版,工作正常(數據庫創建並在模型更改時重新創建)。
<add name="TrempimModel"
connectionString="data source=|DataDirectory|TrempimModel.sdf"
providerName="System.Data.SqlServerCe.4.0" />
這一項,這是我從aspnetdb
連接字符串複製,
<add name="TrempimModel"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|TrempimModel.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
給出關於啓動以下消息:
無法完成操作。提供的SqlConnection沒有指定初始目錄
那麼如何使它與SQL Server Express一起工作呢?
a)sdf擴展名是一個錯字。我在連接字符串中使用了mdf - 編輯了問題以反映這一點。指定數據庫的建議解決了我的問題 - 謝謝。我正在使用與文件名相同的名稱 - 是正確的還是會導致一些問題? – GilShalit 2010-11-07 10:14:50
@GilShalit:它取決於你的MDF裏的數據庫真的叫什麼;很可能與文件名稱相同。您必須通過將MDF附加到完整的SQL Server實例並查看真正調用MDF內存儲的數據庫來驗證這一點。 – 2010-11-07 10:27:01
因爲你似乎對此知道很多,我不假設你有時間可以看看我的問題......我可以讓連接字符串工作,但如果我嘗試編輯/使用數據庫,我得到這麼多的錯誤:( - http://stackoverflow.com/questions/5924553/entity-framework-error-connecting-to-sql-server-express-after-mounting-connecting並重新發布到MSDN - http: //social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/1ec3ff63-d8a1-4844-942d-c2c05ed8078e – Wil 2011-05-10 12:42:23