Entity Framework DefaultConnectionFactory игнорируется

Я использую Entity Framework 5 с Code First. Я написал обычайIDbConnectionFactory который я хочу использовать для всех соединений, сделанных моимDbContext класс, поэтому на раннем этапе жизненного цикла приложения, прежде чем любая работа с базой данных будет сделано, я называю

Database.DefaultConnectionFactory = new MyConnectionFactory();

Тем не мение,MyConnectionFactory.CreateConnection никогда не вызывается, что говорит мне о том, что EF изменил его обратно - но отладчик показывает, что это все ещеMyConnectionFactory после нескольких запросов. По какой-то причине он просто не использует его.

мойDbContext инициализируется передачей имени строки подключения из файла app.config, и эти строки подключения указывают явного поставщика (как это и должно быть), поэтому мне интересно, не вызывает ли это переопределение для каждого подключения фабрики соединений на основе строки подключения. Это происходит, и могу ли я остановить это, не регистрируя совершенно нового провайдера (хотя, может быть, это не так сложно сделать?).

Все, что я вижу в Интернете по этому поводу (очень скрыто тегом defaultConnectionFactory в различных примерах app.config), позволяет предположить, что вы можете просто изменить его наIDbConnectionFactory экземпляр на ваш выбор, и он будет работать, но мой не ведет себя.

Цель этого состоит в том, чтобы позволить мне запускать определенный набор операторов SQL при каждом открытии нового соединения, поэтому вторая часть этого вопроса была бы: кто-нибудь знает лучший способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос