Wie übergebe ich IDbConnection an EF Kontext?

8

Entity Framework cotext DbContext hat einen Konstruktor, der DbConnection akzeptiert. Warum nicht IDbConnection?

Ist es normal, DbConnection an den EF-Kontext zu übergeben, anstatt den Standardkonstruktor zu verwenden (der die Verbindungszeichenfolge aus App.config liest?)

    
deeptowncitizen 12.04.2015, 16:21
quelle

1 Antwort

4
  

Entity Framework cotext DbContext hat Konstruktor, der DbConnection übernimmt. Warum nicht IDbConnection?

Da ich nicht Teil des EF-Teams bin, kann ich nichts für sie sagen. Es scheint mir wie DbConnection , da eine abstrakte Basis bereits einige der Implementierungen für Sie erstellt hat, so dass Sie jede überschriebene Klasse Dinge "kostenlos" bekommen.

Ich habe eine anständige Antwort Dokumente sind ziemlich klar, warum Sie das tun würden Verwenden Sie diese Überladung:

  

Konstruiert eine neue Kontextinstanz mithilfe von der bestehenden Verbindung , um eine Verbindung zu einer Datenbank herzustellen. Wenn contextOwnsConnection den Wert false hat, wird die Verbindung nicht entfernt.

Wenn Sie bereits einen offenen Kontext haben und diesen weitergeben möchten, können Sie dies tun. "Ist das normal?" variiert für jeden Anwendungsfall. Ich habe diese Überlastung selbst überhaupt nicht genutzt.

    
Yuval Itzchakov 12.04.2015, 16:35
quelle