HTML Diff
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