我使用的是实体框架6.1.3、DB-first方法和Server。在模型生成之后,实体框架以下列方式在我的项目app.config文件中包含连接字符串:
<connectionStrings>
    <add name="MyEntities" connectionString="metadata=res:...
         provider=System.Data.SqlClient;...App=EntityFramework"" 
         providerName="System.Data.EntityClient" />
</connectionStrings>
...
<providers>      
    <provider invariantName="System.Data.SqlClient" 
              type="System.Data.Entity.SqlServer.SqlProviderServices,
              EntityFramework.SqlServer" />
</providers>基本上,我希望将这个连接字符串从connectionStrings部分移到appSettings部分,这样我就可以使用CloudConfigurationManager将连接串传递给db上下文。为此,我需要正确地合并connectionString和providerName属性值。
provider是connectionString和providerName的一部分吗?他们是否识别了将用于访问数据库的库?在这种情况下,将使用哪一种:这一个、就是那个还是另一种?如何在appSettings节中将连接字符串指定为单个字符串?
我尝试将connectionString属性值只放在appSettings中,到目前为止,一切似乎都正常工作。但是为什么会有一个providerName属性呢?
有几个类似问题,但似乎没有一个能完全解决这个问题。
发布于 2015-04-17 14:46:15
你不需要providerName。它只是一段数据,它与连接字符串一起使用,说明连接字符串应该使用什么提供者。对于可以利用多个提供程序(如SqlDataSource控件)的工具来说,它非常有用。默认情况下,通常是SqlClient。底线是,如果你不包括它,而且一切仍然工作,那就不用担心包括它。
https://stackoverflow.com/questions/29702197
复制相似问题