Попробуйте создать строку соединения во время выполнения или удалить ее из App.config. Однако я получаю сообщение об ошибке.Установить строку подключения в Runtime - EF Code First
FYI: EF 6 CodeFirst
public class DfDbContext : DbContext
{
public DfDbContext()
: base(GetConnectionString())
{
}
private static string GetConnectionString()
{
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = "xxxxx";
builder.InitialCatalog = "xxxx";
builder.UserID = "xxx";
builder.Password = "xxxx";
builder.MultipleActiveResultSets = true;
builder.PersistSecurityInfo = true;
return builder.ConnectionString.ToString();
}
}
Ошибка
Исключение типа 'System.ArgumentException' произошло в System.Data.dll, но не был обработан в пользовательском коде
Дополнительная информация: Ключевое слово не поддерживается: 'initial catalog'.
Любое альтернативное решение?
Источник данных - это имя сервера. InitialCatalog - это база данных на этом сервере. (Для SQL Server.) –
О, это, наверное, так. Из этой строки подключения EF не знает, что вы разговариваете с базой данных SQL Server. Как вы указываете EF, какой тип базы данных вы используете, чтобы он знал, как интерпретировать строку подключения? –
Что произойдет, если вы передадите открытое соединение вместо строки подключения? (Да, я предполагаю, но похоже, что он должен работать.) –