gpt4 book ai didi

.net - 从实体连接字符串中提取连接字符串

转载 作者:行者123 更新时间:2023-12-03 01:00:24 25 4
gpt4 key购买 nike

创建 ADO.NET 实体连接字符串时,您会得到类似的内容

<add name="MREntities" connectionString="metadata=res://*/App_Code.MembershipAndRoll.MembershipAndRollEntities.csdl|res://*/App_Code.MembershipAndRoll.MembershipAndRollEntities.ssdl|res://*/App_Code.MembershipAndRoll.MembershipAndRollEntities.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=192.168.0.26;User Id=digitaliv;password=*******;Persist Security Info=True;database=digitaliv&quot;" providerName="System.Data.EntityClient" />

我的问题是如何从中获取真正的内部连接字符串来调用手动 sql 连接来调用存储过程、自定义 sql 语句等?具体来说,我需要从中提取这部分

server=192.168.0.26;User Id=digitaliv;password=*******;Persist Security Info=True;database=digitaliv

最佳答案

假设您有一个 ObjectContext 实例(如果您使用内置设计器,则您的上下文源自 EF ObjectContext 类)。您可以将 ObjectContext.Connection 属性(它是 DbConnection)的值强制转换为 EntityConnection

EntityConnection 类有一个属性 StoreConnection,它是用于连接到数据库的实际 DbConnection。该属性实际上将 ConnectionString 属性设置为您要查找的属性。

编辑:一些示例代码(将上下文分配给您的 ObjectContext):

ObjectContext context = entities;
EntityConnection entityConnection = context.Connection as EntityConnection;
if (null != entityConnection)
{
Console.WriteLine(entityConnection.StoreConnection.ConnectionString);
}

关于.net - 从实体连接字符串中提取连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5136919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com