добавление перегрузки в DBContext - PullRequest
2 голосов
/ 17 ноября 2011

Я пытаюсь добавить пароль к моему строковому соединению в конструкторе моего DBContext следующим образом

public partial class Control : DbContext
{
    public Control(string conexion): base(crearConexion(conexion))
    {

    }

    public static String crearConexion(string nombreConexion) 
    {
        string conexion = ConfigurationManager.ConnectionStrings[nombreConexion].ConnectionString;
        SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder(conexion);
        sqlBuilder.Password = "somepassword";
        return sqlBuilder.ToString();
    }
}

Но выдает это исключение system.argumentexception keyword not supported 'metadata'

Почему я делаюнеправильно??

1 Ответ

4 голосов
/ 17 ноября 2011

Попробуйте использовать EntityConnectionStringBuilder .

Если вы посмотрите на строку подключения EF (проверьте файл app.config), вы увидите, что строка подключения к серверу sql является ее частью, но также имеется дополнительная информация, которую SqlConnectionStringBuilder не может проанализировать:

metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost;initial catalog=Test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...