首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DbConnection获取SqlConnection

从DbConnection获取SqlConnection
EN

Stack Overflow用户
提问于 2013-06-04 04:17:33
回答 8查看 22.4K关注 0票数 31

我在DbContext上有一个扩展方法,我想在其中执行一个SqlBulkCopy。因此,我需要一个SqlConnection。但是,来自DbContext的连接来自类型DbConnection。在其他一些事情中,我尝试了这个:

代码语言:javascript
复制
var connection = new SqlConnection( dbContext.Database.Connection.ConnectionString);

问题是密码丢失(可能是出于安全原因)。

我尝试的另一件事是向上转换:

代码语言:javascript
复制
var bulk_copy = new SqlBulkCopy( (SqlConnection)dbContext.Database.Connection );

这实际上假设DbConnection是一个SqlConnection。在这个非常特殊的情况下,它已经出错了。我使用的是将连接包装到EFProfiledDbConnection中的MVC MiniProfiler。EFProfiledDbConnection不继承自SqlConnection。

还有其他想法吗?提前感谢!

EN

回答 8

Stack Overflow用户

发布于 2013-06-04 04:21:26

好吧,如果两者都可以共享相同的Connection String,那么我猜它们都是SqlConnection

试着这样做:

代码语言:javascript
复制
var connection = rep.Database.Connection as SqlConnection;
票数 19
EN

Stack Overflow用户

发布于 2013-06-04 04:20:34

解决此问题的一种可能方法是将Persist Security Info=true添加到连接字符串中。

票数 7
EN

Stack Overflow用户

发布于 2013-12-18 04:59:10

到目前为止,我发现的唯一方法是使用System.Configuration库:

代码语言:javascript
复制
var sqlConnString = ConfigurationManager.ConnectionStrings["your_conn_string_name"].ConnectionString;
var bulkCopy = new SqlBulkCopy(sqlConnString);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16905126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档