在EF CodeFirst时候我们经常使用程序包管理器控制台而App.Config/Web.Config里面的配置大家可能比较少注意
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework" />
这边有2种方式连接。
我简单说下这两个区别SqlConnectionFactory在使用update-database -verbose时候可能出现一个直接生成一个 .SQLEXPRESS字符串的连接数据,导致数据库连接失败,更新失败。
(这个Bug我是有碰到过,故记录。)
而LocalDbConnectionFactory是直接使用你填写的字符串。如:
<add name="Default" connectionString="Server=.;User ID=sa;Password=123456; database=TryDbContext;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" />
这边还有篇文章也有介绍传送门。
欢迎讨论。