Основным преимуществом блока приложений базы данных является то, что он облегчает создание кода, независимого от базы данных. Разработчик взаимодействует в основном с общими объектами Database и DbCommand, а не, например, с SqlConnection, SqlCommand и т. Д. Таким образом, переключение на другую базу данных (например, Oracle) становится более осуществимым. В зависимости от потребностей вашего бизнеса, это может быть определенным преимуществом. EntLib также мягко подталкивает разработчика в направлении использования DbParameter для параметров запроса, что снижает риск атак с использованием SQL-инъекций.
Как упомянул другой участник, блок приложения для данных является несколько более высоким уровнем, чем обычные классы ADO.NET, поэтому для выполнения одной и той же задачи требуется меньше строк кода.
С моей точки зрения, блоки данных, исключений и журналов являются наиболее полезными. Исключение и ведение журнала вместе позволяют очень легко регистрировать исключения (duh) в нескольких местах и в разных форматах. Например, они могут поместить всю запись журнала исключений, включая трассировку стека, в журнал событий Windows, что позволяет относительно легко диагностировать проблему.
Одним из недостатков EntLib является то, что некоторые блоки приложения помещают довольно много логики в файлы конфигурации. Так что ваша логика более распространена; некоторые из них в коде, некоторые в конфигурационных файлах. Положительным моментом является то, что конфигурацию можно изменять после сборки и даже после развертывания.