在使用Ef 的數據遷移時出現了數據連接異常“provider: SQL Network Interfaces, error: 26 - 定位指定的服務器/實例時出錯”這個錯誤。
在排除了電腦安裝的Sql沒問題,服務啟動,防火牆等問題后。
在程序包管理控制台發現一行代碼“Target database is: 'Default' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).”;
而我的數據鏈接字符串時:Server=.;User ID=sa;Password=123456; database=WATDbContext;MultipleActiveResultSets=true
不對啊,多了一個\SQLEXPRESS。
在這篇文章里有說原因:傳送門
至於我的解決辦法是直接將字符串放進代碼中如:
public WATDbContext() : base("Server=.;User ID=sa;Password=123456; database=WATDbContext;MultipleActiveResultSets=true") { }
直接放到DbContext中。再次測試沒問題。
若您有更好的解決方案,歡迎留言討論。