我的应用配置中有一个连接字符串:
<connectionStrings>
<add name="MyEFConnection" connectionString="metadata=res://*/Model.AAA.csdl|res://*/Model.AAA.ssdl|res://*/Model.AAA.msl;provider=System.Data.SqlClient;provider connection string="data source=MyComputer\SQLEXPRESS;initial catalog=ABCD;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
但在特定情况下,我想使用ADO.NET来执行T-SQL,所以我使用这段代码:
SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyEFConnection"].ConnectionString);
但我得到一个例外,说Metada这个词是无效的。有没有办法在EF的连接字符串中使用这些信息,或者我需要在我的应用程序配置中添加一个新的字符串连接到ADO.NET连接?
感谢。
答案 0 :(得分:1)
首先你需要更换&amp; QUOT;用一个单引号。 然后从连接字符串中创建实体EntityConnection:
EntityConnection entityConnection = new EntityConnection(connectionString);
然后您可以从EntityConnection获取ADO的连接字符串:
string ADOConnectionString = entityConnection.StoreConnection.ConnectionString;