我有这样的app.config:
<connectionStrings>
<add name="MyDB" connectionString="Data Source=(localdb)\ProjectsV12;Initial Catalog=MrBoy;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" />
</connectionStrings>
在我的DbContext类中,如果我复制粘贴连接字符串,例如。
,它可以正常工作: base("Data Source=(localdb)\ProjectsV12;Initial Catalog=MrBoy;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False")
但如果我指定
:base("name=MyDB")
我的应用程序和软件包管理器控制台出错:
&#34;连接字符串&#39; MyDB&#39;在应用程序的配置文件中 不包含必需的providerName属性。&#34;
为什么不接受有效的连接字符串?除了手动将连接字符串传递给构造函数之外,还有其他解决方法吗?
答案 0 :(得分:2)
这样做
<add name="MyDB" connectionString="Data Source=(localdb)\ProjectsV12;Initial Catalog=MrBoy;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />
Connectionstrings需要提供者类型。将其设置为实体上下文!=定义连接字符串。在设置上下文时会假定该类型。