我在 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/