我正在使用我的Asp.Net MVC3应用程序的实体框架4.我的问题是我正在使用Entity Framework对我的数据库执行操作,这是正常的.为了其他目的,我还使用sql Connection来存储和检索数据库中的数据.我正进入(状态
[Keyword not supported: 'Metadata']
连接我的数据库时出错.
这是我的网络配置
<add name="VibrantEntities" connectionString="Metadata=res://*/Vibrant.csdl|res://*/Vibrant.ssdl|res://*/Vibrant.msl;provider=System.Data.sqlClient;provider connection string="data source=KAPS-PC\KAPSSERVER;initial catalog=vibrant;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
我正在使用类库,所以这是我的App Config.
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,EntityFramework,Version=4.3.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" /> <add name="VibrantEntities" connectionString="Metadata=res://*/Vibrant.csdl|res://*/Vibrant.ssdl|res://*/Vibrant.msl;provider=System.Data.sqlClient;provider connection string="data source=KAPS-PC\KAPSSERVER;initial catalog=vibrant;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
解决方法
ADO.NET(在本例中为sqlConnection)的连接字符串不采用该格式.您正在使用一个特定于实体框架的实体框架. ADO.NET应该是这样的:
"data source=KAPS-PC\KAPSSERVER;initial catalog=vibrant;integrated security=True"
因此,总结一下,您需要两个独立的连接字符串,一个用于EF,另一个用于ADO.NET