Как подключиться к базе данных через Massive

Как подключиться к базе данных через Massive?

В Massive есть метод для открытия соединения, но он принимает имя строки соединения. Я хочу дать ему строку подключения. Как я могу это сделать?


person petko_stankoski    schedule 04.05.2012    source источник


Ответы (1)


В коде Massive в методе Open() создается DynamicModel, а в конструкторе DynamicModel я нашел эту строку (Massive.cs 127 строка):

ConnectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;

Это означает, что вам нужно сохранить строку подключения в файле конфигурации и передать методу Open соответствующее имя строки подключения.

Что вам нужно, так это создать методы перегрузки для принятия строки подключения. Вот пример:

public static DynamicModel Open(string connectionString, string providerName="System.Data.SqlClient") 
{
        dynamic dm = new DynamicModel(connectionString, providerName);
        return dm;
}

public DynamicModel(string connectionString, string providerName ="System.Data.SqlClient", string tableName = "", 
     string primaryKeyField = "", string descriptorField = "") 
{
        TableName = tableName == "" ? this.GetType().Name : tableName;
        PrimaryKeyField = string.IsNullOrEmpty(primaryKeyField) ? "ID" : primaryKeyField;
        DescriptorField = descriptorField;

        _factory = DbProviderFactories.GetFactory(providerName);
        ConnectionString = connectionString;
}
person Renatas M.    schedule 04.05.2012
comment
Я настолько непонятен? Я не хочу хранить dtring соединения в файле конфигурации. Я хочу передать открытый метод или другую строку подключения метода, а не его имя. - person petko_stankoski; 04.05.2012
comment
Разве вы не видите в коде, что метода нет? Вы можете легко создать метод перегрузки, который принимает строку подключения. - person Renatas M.; 04.05.2012