在使用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中。再次测试没问题。
若您有更好的解决方案,欢迎留言讨论。