使用EF Code First,未設定web.config的connectionStrings給DbContext使用,打算使用預設行為建立,執行application欲建立 db 時發生錯誤:
建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤。找不到或無法存取伺服器。確認執行個名稱是否正確,以及 SQL Server 是否設定為允許遠端連線。 (provider: SQL Network Interfaces, error: 50 - Local Database Runtime 發生錯誤。 指定的 LocalDB 執行個體不存在。
)
在cmd輸入 sqllocaldb i 查看我有那些 LocalDB 執行個體 :
MSSQLLocalDB
ProjectsV13
以前得知的知識,預設執行個體是 v11.0
所以以為 [指定的 LocalDB 執行個體] 指的是 v11.0
發現我沒有 v11.0 所以打算建立一個,在cmd輸入 sqllocaldb c v11.0
但是發生錯誤:
因為發生下列錯誤,建立 LocalDB 執行個體 "v11.0" 失敗:
無法在這台電腦上使用者定的 LocalDB版本。
上網查到了這一篇文章:
http://rowo.co/blog/2014/08/28/exception-with-new-ef6-project/
於是檢查自己的web.config
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v13.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
發現預設使用的是 v13.0
因為沒有這個執行個體所以建立了一個 sqllocaldb c "v13.0"
再次執行application,成功!
沒有留言:
張貼留言