0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: sqlconnection, sqlcommand, sqldatareader, ado.net, работа с бд, базы данных, orm, ef, nhibernate, график, диаграмма, метаописания, xml, xsd, sql, хранимые процедуры</p>
1
<p>Теги: sqlconnection, sqlcommand, sqldatareader, ado.net, работа с бд, базы данных, orm, ef, nhibernate, график, диаграмма, метаописания, xml, xsd, sql, хранимые процедуры</p>
2
<p>При проектировании корпоративного приложения возникает вопрос:</p>
2
<p>При проектировании корпоративного приложения возникает вопрос:</p>
3
<h2>"Как правильно организовать систему работы с БД?"</h2>
3
<h2>"Как правильно организовать систему работы с БД?"</h2>
4
<p>В современных учебниках программирования рассматривается зачастую один вариант - ORM (EF, NHibernate и т.д.). И практически совсем не упоминается ADO.NET.</p>
4
<p>В современных учебниках программирования рассматривается зачастую один вариант - ORM (EF, NHibernate и т.д.). И практически совсем не упоминается ADO.NET.</p>
5
<h2>Но так ли однозначен выбор? Посмотрим...</h2>
5
<h2>Но так ли однозначен выбор? Посмотрим...</h2>
6
<p>Как показывает практика, удобнее использовать и сопровождать модульную систему (например, онлайн-систему отчётности), где отдельными модулями являются движок формирования интерфейса, движок получения данных, модули авторизации и аутентификации.</p>
6
<p>Как показывает практика, удобнее использовать и сопровождать модульную систему (например, онлайн-систему отчётности), где отдельными модулями являются движок формирования интерфейса, движок получения данных, модули авторизации и аутентификации.</p>
7
<p>Кроме этого, удобно, когда каждая отчётная форма, график, диаграмма являются отдельными модулями и инкапсулируют в себе все свои метаописания. Формат XML (с определённой схемой XSD) хорошо подходит для этой цели. В нём для каждой отчётной формы определяются все SQL-запросы, выполняемые для заполнения формы, пользовательские параметры, формат данных, заголовки таблиц и прочее.</p>
7
<p>Кроме этого, удобно, когда каждая отчётная форма, график, диаграмма являются отдельными модулями и инкапсулируют в себе все свои метаописания. Формат XML (с определённой схемой XSD) хорошо подходит для этой цели. В нём для каждой отчётной формы определяются все SQL-запросы, выполняемые для заполнения формы, пользовательские параметры, формат данных, заголовки таблиц и прочее.</p>
8
<p>Для оперирования всей этой постоянно пополняющейся и изменяющейся системой метаописаний как раз и функционирует движок получения данных, основанный на нескольких классах ADO.NET: SqlConnection, SqlCommand, SqlDataReader.</p>
8
<p>Для оперирования всей этой постоянно пополняющейся и изменяющейся системой метаописаний как раз и функционирует движок получения данных, основанный на нескольких классах ADO.NET: SqlConnection, SqlCommand, SqlDataReader.</p>
9
<p>Задача добавления новой отчётной формы сводится к формированию на основе XSD-схемы XML-файла и размещения его в определённой папке веб-сервера. С задачей справится любой технический специалист. При этом не нужно задействовать программистов, тестировщиков, что было бы необходимо при создании отчётной формы, используя напрямую концепцию ORM.</p>
9
<p>Задача добавления новой отчётной формы сводится к формированию на основе XSD-схемы XML-файла и размещения его в определённой папке веб-сервера. С задачей справится любой технический специалист. При этом не нужно задействовать программистов, тестировщиков, что было бы необходимо при создании отчётной формы, используя напрямую концепцию ORM.</p>
10
<p>Есть ещё один не менее популярный путь - вынесение логики получения и обработки данных на уровень сервера БД (хранимые процедуры). У этих двух подходов есть свои плюсы и минусы.</p>
10
<p>Есть ещё один не менее популярный путь - вынесение логики получения и обработки данных на уровень сервера БД (хранимые процедуры). У этих двух подходов есть свои плюсы и минусы.</p>
11
<p>Плюсы первого: удобство работы с файловой системой, работы с версионностью. Второго - скорость выполнения и разгрузка сервера приложений. Однозначно есть плюсы работы и с ORM: функциональность, скорость разработки, интуитивно понятный разработчику синтаксис, более оптимизированная работа с БД.</p>
11
<p>Плюсы первого: удобство работы с файловой системой, работы с версионностью. Второго - скорость выполнения и разгрузка сервера приложений. Однозначно есть плюсы работы и с ORM: функциональность, скорость разработки, интуитивно понятный разработчику синтаксис, более оптимизированная работа с БД.</p>
12
<p><em>Что же лучше? Поделитесь своим мнением в комментариях!</em></p>
12
<p><em>Что же лучше? Поделитесь своим мнением в комментариях!</em></p>
13
13