DbContext不接受LocalDb的命名连接字符串

时间:2016-07-15 15:28:16

标签: c# entity-framework ef-code-first entity-framework-6

我有这样的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;

为什么不接受有效的连接字符串?除了手动将连接字符串传递给构造函数之外,还有其他解决方法吗?

1 个答案:

答案 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需要提供者类型。将其设置为实体上下文!=定义连接字符串。在设置上下文时会假定该类型。