Ответ 1
Я использую EF 6 без файла App.config, я просто передаю строку подключения в свой DBContext (ну, соединение считывается из файла конфигурации в другом месте, но это зависит от вас). Просто удалите все файлы EF из конфигурационного файла.
Вот как я заработал.
public partial class MyDbContext : DbContext, IMyDbContext
{
public MyDbContext(string connectionString,
DbValidationMode validationMode = DbValidationMode.Enabled,
DbLazyLoadingMode lazyLoadingMode = DbLazyLoadingMode.Disabled,
DbAutoDetectMode autoDetectMode = DbAutoDetectMode.Enabled)
: base(((EntityConnectionStringBuilder)new EntityConnectionStringBuilder()
{
Provider = "System.Data.SqlClient",
ProviderConnectionString = connectionString,
Metadata = @"res://*/Contexts.Test.MyModel.csdl|res://*/Contexts.Test.MyModel.ssdl|res://*/Contexts.Test.MyModel.msl"
}).ToString())
{
this.Configuration.ValidateOnSaveEnabled = validationMode.Equals(DbValidationMode.Enabled);
this.Configuration.LazyLoadingEnabled = lazyLoadingMode.Equals(DbLazyLoadingMode.Enabled);
this.Configuration.AutoDetectChangesEnabled = autoDetectMode.Equals(DbAutoDetectMode.Enabled);
}
... Etc
Затем я просто вставляю этот контекст во все мои сервисы.
Я использую проект Database First, поэтому мне стало легче изменять шаблоны T4.
Там могут быть более приятные способы сделать это, но я вообще не сталкивался с какими-либо проблемами.