Я застрял в EF 6, и документация разрежена - не получилось, что это решило в течение дня.Использование репозитория EF с пользовательскими объектами подключения?
Я пытаюсь использовать Code First в репозитории базы данных, который у нас есть. Из-за сложной инициализации I должен использовать мой собственный заводский метод для инициализации подкласса контекста, а I должен включить мое собственное соединение sql или создать собственную фабрику.
следующих инициализации класса:
мы имеем:
public class Repository : DbContext {
static string _connectionString;
static Repository() {
Database.SetInitializer<Repository>(null);
var type = typeof(System.Data.Entity.SqlServer.SqlProviderServices);
_connectionString = ** method to get connection string**
}
public static Repository Create() {
SqlConnection connection = new SqlConnection(_connectionString);
connection.Open();
connection.BeginTransaction(IsolationLevel.ReadCommitted).Commit();
return new Repository(connection);
}
К сожалению, работает он дует со следующим исключением с первой попытки выбрать некоторые лица:
Не удалось определить имя поставщика для поставщика фабрики типа «System.Data.SqlClient.SqlClientFactory». Убедитесь, что поставщик ADO.NET установлен или зарегистрирован в конфигурации приложения.
Я совершенно не в своем уме, как это исправить.
Мой конфигурационный файл в использовании веб-приложение читает:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0" />
</providers>
</entityFramework>
Любой человек может сказать мне, как исправить это? Моя альтернатива - сначала вернуться к модели, но я бы очень хотел дать код сначала попробовать.
Тот же тип ошибки фиксируется в это решение. http://stackoverflow.com/questions/19903037/entity-framework-profiler-asp-net-mvc4-with-ef-6-unable-to-determine-the-prov – Bharadwaj
@Bharadwaj Интересно, что нет. Как ответ есть, что это была ошибка в профилировщике ... который я даже не использую. – TomTom
Это должно быть подробное описание того, как вы создаете строку подключения. Для чего вам нужен тип 'SqlProviderServices'? –