c# - 从 DbConnection 获取 SqlConnection

标签 c# sql entity-framework connection-string mvc-mini-profiler

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

var connection = new SqlConnection( dbContext.Database.Connection.ConnectionString);

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

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

var bulk_copy = new SqlBulkCopy( (SqlConnection)dbContext.Database.Connection );

这实际上假定 DbConnection 是一个 SqlConnection。在这个非常具体的案例中,它已经出错了。我正在使用将连接包装到 EFProfiledDbConnection 中的 MVC MiniProfiler。 EFProfiledDbConnection 不继承自 SqlConnection。

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

最佳答案

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

试试这个:

var connection = rep.Database.Connection as SqlConnection;

关于c# - 从 DbConnection 获取 SqlConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905126/

相关文章:

c# - 如何从父组件中的事件更新子组件属性

c# - 默认数据上下文

sql - 使用 SQL 确定连续值的总计

c# - Entity Framework 本身引用 -> 父/子

c# - 我可以使用 linq 结果中的匿名类型来创建类集合作为方法参数的一部分吗?

c# - 如何在 ASP.NET MVC 和 C# 中从数据库中选择下拉列表的值?

mysql - 在 SQL 中以分钟为单位动态生成时间间隔之间的时间序列

mysql - select inside insert 语句和过程

c# - 尝试将字段添加到表中时出现 Entity Framework 错误 3004

c# - 获取程序集中的类型(错误 : System. Reflection.ReflectionTypeLoadException)