Holen Sie sich SqlConnection von DbConnection
Habe ich eine Extension-Methode auf DbContext
wo ich will, zu tun, eine SqlBulkCopy
. Deshalb brauche ich eine SqlConnection
. Die Verbindung von der DbContext ist vom Typ DbConnection
obwohl.
Unter ein paar andere Dinge, die ich so probiert:
var connection = new SqlConnection( dbContext.Database.Connection.ConnectionString);
Problem ist, dass das Passwort fehlt (wahrscheinlich aus Sicherheitsgründen).
Andere Sache, die ich versucht habe, ist upcasting:
var bulk_copy = new SqlBulkCopy( (SqlConnection)dbContext.Database.Connection );
Dass tatsächlich setzt die DbConnection wird, dass eine SqlConnection. In diesem sehr konkreten Fall geht es schon Los. Ich bin mit dem MVC "MiniProfiler", schließt die Verbindung in eine EFProfiledDbConnection
. EFProfiledDbConnection nicht Erben aus SqlConnection.
Irgendwelche anderen Ideen? Vielen Dank im Voraus!
InformationsquelleAutor der Frage Dirk Boer | 2013-06-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, wenn beide die gleichen
Connection String
dann ich denke, Sie sind beideSqlConnection
.Versuchen Sie dies:
InformationsquelleAutor der Antwort haim770
Einer der möglichen Wege, um diese Arbeit herum wäre hinzuzufügen
Persist Security Info=true
zu Ihrem Verbindungs-string.InformationsquelleAutor der Antwort Wiktor Zychla
Einzige Weg, ich fand heraus, so weit Sie mit System.Konfiguration-Bibliothek:
InformationsquelleAutor der Antwort Arvis
Ich hatte ein ähnliches problem mit ProfiledConnection (HibernatingRhinos.Profiler.Appender.ProfiledDataAccess.ProfiledConnection)
und das, was ich brauchte, war eine SqlConnection, das war der trick:
InformationsquelleAutor der Antwort Rafal Winnik
Können Sie die Art der
dbContext.Database.Connection
. Wenn es eineEFProfiledDbConnection
erhalten Sie IhreWrappedConnection
Eigenschaft, das gibt einenDbConnection
. Das ist einSqlConnection
wenn Sie Sql Server verwenden.InformationsquelleAutor der Antwort Gert Arnold