我使用Entity Framework Code First
,
我的连接字符串位于配置文件中:
<connectionStrings>
<clear/>
<add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
</connectionStrings>
当我尝试访问数据(应该创建数据库的东西)时,会出现以下错误:
The connection string 'ApplicationServices' in the application's configuration file does not contain the required providerName attribute."
我缺少什么?
答案 0 :(得分:163)
您在connectionString
属性之后缺少以下代码(假设您使用的是SQL):
providerName="System.Data.SqlClient"
答案 1 :(得分:10)
将来的某个时间。完整的代码
<add name="YouContext" connectionString="Integrated Security=True;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourPCName;" providerName="System.Data.SqlClient"/>
答案 2 :(得分:0)
在web.config中向下浏览,直到到达providers
标签。
例如,这是我的提供商声明:
<providers><provider invariantName="System.Data.SqlClient" ... /></providers>
您应该将此System.Data.SqlClient
添加为连接字符串中的提供者名称
因此您的连接字符串应如下所示:
<connectionStrings>
<add name="ApplicationServices" providerName="System.Data.SqlClient" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
</connectionStrings>
答案 3 :(得分:0)
就我而言,问题在于启动项目目标不正确。在PM控制台中,目标迁移程序集项目正确。
我有一个多项目解决方案,目标是某个Web服务项目。
因此,我将StartUp更改为主要的WebSite项目,并且迁移已顺利完成,没有错误。