Компонент доступа к БД/ Ограничение выбираемых полей

Ограничение выбираемых полей

     В списке полей могут присутствовать как собственные поля объекта (назовем его основным объектом), так и поля из объектов, которые монтируются (присоединяются) к нему в точках монтирования «PointForMount». Список нужных полей формируется с помощью метода «AddField(Field,PointForMount)».

     Первый параметр метода есть наименование поля в формате «Объект.Поле». Для удобства работы с полями в каждом классе сущности есть статичное поле объектного типа «Columns», значения полей которого есть наименования полей объекта. Так для сущности типа «Employee», обращение к полям выглядит так:

Employee.Columns.EmployeeID,
Employee.Columns.FirstName.

     Второй параметр метода «PointForMount» равен null, если поле является собственным. Если это поле присоединенного объекта, то значением парамера является наименование поля основного объекта, к которому происходит монтирование.

     Пример. У объекта «Employee» есть поле «ReportsTo», ссылающееся на объект этого же типа. Добавим в запрос собственное поле «LastName» объекта «Employee».

dbg.AddField(Employee.Columns.LastName,null);

     Теперь добавим поле «LastName» присоединенного объекта.

dbg.AddField(Employee.Columns.LastName, Employee.Columns.ReportsTo);

     Обработка ошибок.

     В случае ошибки при добавлении поля в запрос, поле «Status» объекта «dbg» получит значение false, в поле «message» запишется информация об ошибке.

if (!dbg.Status)
        MessageBox.Show(dbg.message);