Ограничение выбираемых полей
В списке полей могут присутствовать как собственные поля объекта (назовем его основным объектом), так и поля из объектов, которые монтируются (присоединяются) к нему в точках монтирования «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);