Entity Framework DefaultConnectionFactory jest ignorowany

Używam Entity Framework 5 z Code First. Napisałem zwyczajIDbConnectionFactory które chcę wykorzystać dla wszystkich połączeń wykonanych przez mojeDbContext klasa, tak wcześnie w cyklu życia aplikacji, przed wykonaniem jakiejkolwiek pracy z bazą danych dzwonię

Database.DefaultConnectionFactory = new MyConnectionFactory();

Jednak,MyConnectionFactory.CreateConnection nigdy nie jest wywoływany, co sugeruje mi, że EF zmienił go z powrotem - ale debuger pokazuje, że nadal jestMyConnectionFactory po uruchomieniu kilku zapytań. Z jakiegoś powodu po prostu go nie używa.

MójDbContext jest inicjowane przez przekazanie nazwy ciągu połączenia z pliku app.config, a te ciągi połączeń określają jawnego dostawcę (tak jak muszą), więc zastanawiam się, czy to nie powoduje zastąpienia fabryki połączeń przez połączenie na podstawie ciągu połączenia. Czy to się zdarza i czy mogę go zatrzymać bez zarejestrowania zupełnie nowego dostawcy (choć może nie jest to zbyt trudne?).

Cokolwiek widzę na ten temat w Internecie (zasłonięte znacznikiem defaultConnectionFactory w różnych przykładach app.config) sugeruje, że możesz po prostu zmienić go naIDbConnectionFactory wybrany przez ciebie przypadek i zadziała, ale mój nie działa.

Ma to na celu umożliwienie mi uruchomienia określonego zestawu instrukcji SQL przy każdym otwarciu nowego połączenia, więc druga część tego pytania brzmi: czy ktoś zna lepszy sposób na to?

questionAnswers(2)

yourAnswerToTheQuestion