【发布时间】:2013-06-03 20:17:32
【问题描述】:
我在DbContext 上有一个扩展方法,我想做一个SqlBulkCopy。因此我需要一个SqlConnection。来自 DbContext 的连接来自 DbConnection 类型。
在其他一些事情中,我尝试了这个:
var connection = new SqlConnection( dbContext.Database.Connection.ConnectionString);
问题是密码丢失(可能出于安全原因)。
我尝试的另一件事是向上转换:
var bulk_copy = new SqlBulkCopy( (SqlConnection)dbContext.Database.Connection );
这实际上假定 DbConnection 是一个 SqlConnection。在这种非常具体的情况下,它已经出错了。我正在使用 MVC MiniProfiler 将连接包装成EFProfiledDbConnection。 EFProfiledDbConnection 不继承自 SqlConnection。
还有其他想法吗?提前致谢!
【问题讨论】:
-
不,SqlConnection 和 SqlBulkCopy 都不接受 DbConnection 作为构造函数参数。
-
尝试将
DbConnection向上转换为SqlConnection -
抱歉,我已经尝试过了,但忘记将其添加到问题中。我已经更新了我的问题。
-
那就试试我的方法——看看我的答案。
标签: c# sql entity-framework connection-string mvc-mini-profiler