Что такое Microsoft.Practices.EnterpriseLibrary.Data

Я хочу знать, что такое Microsoft.Practices.EnterpriseLibrary.Data и почему мы используем эту DLL. каковы преимущества этой DLL.

Я хочу создать проект на 3-уровневой архитектуре, что наилучшим образом подходит для sql-запросов.

погода я использую эту DLL или хожу для простых sqlcommand и dataadapter. в настоящее время я работаю таким образом: Мой код в файле DAL:

public void Insert(long id)
{
    connection.Open();
    SqlCommand dCmd = new SqlCommand("test_procedure", connection);
    dCmd.CommandType = CommandType.StoredProcedure;
    try
    {
        dCmd.Parameters.AddWithValue("@id", id);           
        dCmd.ExecuteNonQuery();
    }
    catch
    {
        throw;
    }
    finally
    {
        dCmd.Dispose();
        connection.Close();
        connection.Dispose();
    }
}

Я запутался в погоде, я работаю правильно или должен использовать Microsoft.Practices.EnterpriseLibrary.Data а затем я создаю DatabaseFactory.

Ответ 1

Основным преимуществом библиотеки Microsoft.Practices.EnterpriseLibrary.Data является то, что она упрощает создание кода агностики базы данных. Разработчик взаимодействует в основном с более универсальными объектами Database vs SqlConnection и DbCommand vs SqlCommand, теоретически механизм переключения базовой базы данных с MSSQL на Oracle становится несколько проще. Хотя в моем опыте развития я никогда не видел этого.

Microsoft.Practices.EnterpriseLibrary.Data также направляет разработчика использовать DbParameter для параметров запроса, что снижает риск атаки SQL-инъекций.

Microsoft.Practices.EnterpriseLibrary.Data - это более высокий реферат основных конструкций ADO.Net и позволяет разработчику выполнять одни и те же задачи в минимальном количестве кода.

Если вы изучаете стратегии доступа к данным, я предлагаю продолжить работу с ADO.Net, чем больше вы понимаете основы, тем полезнее использовать Microsoft.Practices.EnterpriseLibrary.Data или Entity Framework или NHibernate, потому что вы понимаете основы, поскольку технологии построены поверх ADO.Net.