|
|
Использование атрибутов для нормализации и валидации бизнес-сущностей
|
|
Страница 1 из 6 В корпоративном программировании при проектировании уровня доступа к данным часто встает вопрос работы с бизнес-объектами(бизнес-сущностями): это загрузки/изменения/сохранения и перемещения между уровнями. Существует два основных подхода для этого - использование собственных бизнес-сущностей или стандартных средств (ADO.NET предоставляет достаточно удобные способы для этого) - использование DataSet.
Как пишет Дино Эспозито: В объекты DataSet встроена поддержка параллельного доступа с нежесткой блокировкой. Они позволяют определять и использовать сложные отношения между таблицами. Кроме того, объекты DataSet поддерживают сериализацию, а при изменении схемы базы данных, как правило, не требуется вносить соответствующие изменения в API уровня доступа к данным. Однако не всегда удобно манипулировать DataSet-ами, особенно в случае большой детерминированности структуры данных. Достаточно сложно привязывать(bind) таблицы к спискам (Repeater, DataGrid) в ASP.NET страницах. Кроме того, DataSet при всем своем удобстве передачи между процессами относительно громоздок по размеру и может достаточно долго сериализоваться/десериализоваться, занимая при этом циклы процессора и оперативную память. Основная альтернатива этому способу - создание собственных бизнес-сущностей, более подходящих в случае основного упора на работу с данными экземпляров и скалярными значениями. Бизнес-сущность это класс, инкапсулирующий в себе данные, относящиеся к какой-либо отдельной сущности (например, пользователь, заказ, товар). Бизнес-сущность может иметь различные методы для работы с содержащимися данными, может использовать методы фабрик данных для управления своим жизненным циклом. Одной из основных операций, производимых с БС, является отображение её данных пользователю (я имею в виду в первую очередь WinForms, но к ASP.NET это относится также) и сохранение внесенных пользователем изменений в БД или других хранилищах. Здесь также возникает дополнительная задача - необходимо позволить пользователю вводить только корректные данные. В книге "Analyzing Requirements and Defining Microsoft® .NET Solution Architectures" (далее 70-300) написано: In addition to the performance of the database, you need to ensure the quality of the data stored by the database. This means that the database implements data integrity and stores valid data that conforms to the business rules. то есть, вы должны обеспечить не только производительность работы с БД, но и качество хранящихся в ней данных.
|
|
-
ADO.NET и базы данных,
Entity Framework в многоуровневых архитектурах
Когда архитекторы n-уровневой архитектуры оценивают какую-либо новую технологию, шаблон или стратегию, они решают, как эта новая часть головоломки будет сочетаться с архитектурой. Если есть платформа Entity Framework, интеграция не вызывает каких-либо сложностей. Она может быть интегрирована в n-уровневую архитектуру, а также в одноуровневую архитектуру....
-
ADO.NET и базы данных,
Entity Framework FAQ
Понимание моделирования сущностей, отображение таких моделей на реляционные базы данных, а также проектирование сущностных моделей данных (Entity Data Model, EDM) являются первыми шагами к пониманию Entity Framework. Я начну свою статью с ответов на вопросы об основах Entity Framework, в том числе о классе ObjectContext, а затем отвечу на вопросы о том, когда и где стоит использовать Entity Client с Entity SQL. Кроме того, я планирую объяснить разницу между EntityClient и службами Object Service...
-
ADO.NET и базы данных,
Обзор ADO.NET Entity Framework
В выпуске Visual Studio 2008 в ADO.NET представлена новая архитектура Entity Framework. Она позволяет разработчикам обращаться к данным, используя объектную модель вместо логической или реляционной модели данных. Entity Framework помогает абстрагировать логическую схему данных в концептуальную модель и обеспечивает несколько способов взаимодействия с концептуальной моделью через службы Object Services и нового поставщика данных, называющегося EntityClient. В статье этого месяца обсуждается, что ...
-
ADO.NET и базы данных,
Разработка сущностной модели данных с помощью Entity Framework
Entity Framework — это новая технология, разработанная для ADO.NET. Она позволяет разработчикам визуализировать данные, используя логическую, а не физическую модель, благодаря чему обеспечивается определенная гибкость разработки. В июльском номере журнала за 2007 год в рубрике «Точки данных» мы давали подробный обзор технологии Entity Framework (она должна быть официально выпущена в первой половине 2008 года)....
-
ADO.NET и базы данных,
ADO.NET: Обзор технологии
Многие программисты, работающие с базами данных на платформах Microsoft, могли оценить простоту и удобство технологии ADO - ActiveX Data Objects. Интутитивно-понятный интерфейс и логичный набор объектов вместе с простотой программирования заслуженно получили признание программистов. Несмотря на это, вместе с новой платформой .NET Microsoft представляет и новое поколение средств доступа к базам данных - ADO.NET. ...
-
ADO.NET и базы данных,
Операции над данными с иерархической структурой. Разработка распределенных приложений в .NET
Эта статья демонстрирует методику чтения и записи иерархических наборов строк в источнике данных. В примерах кода, приведенных в этой статье, для соединения с базой данных Microsoft SQL Server или Microsoft Desktop Engine (MSDE) используется управляемый провайдер SQL (SQL managed provider). Для соединения с другими OLEDB-совместимыми источниками данных следует применять управляемый провайдер ADO (ADO ma...
-
ADO.NET и базы данных,
Работа с автономными данными в ADO.NET
Технология ADO.NET, в отличие от своих предшественников ADO и OLE DB, была разработана специально для использования в web приложениях, где не бывает постоянных соединений с БД. Традиционная работа с данными в ADO.NET строится по такой схеме: создается соединение Connection, затем оно открывается методом Open, создается объект команда Command, инкапсулирующая SQL команду, она исполняется, а соединение затем закрывается. Такой подход обеспечивает поточный доступ к результатам запросов. Т.е. ...
|
|
|