Коллеги всем доброго времени суток!
Столкнулся с такой проблемой:
Формируем запрос к БД через ESQ - http://prntscr.com/jj0e03
далее делаем выборку из сформированной коллекции - http://prntscr.com/jj0efz
Однако при выборке вылетает ошибка - http://prntscr.com/jj0et9
Смотрим как сформировался SQL - http://prntscr.com/jj0fa1
При этом var esqSmsStatus = esq.AddColumn("SmsStatus").Name; равно http://prntscr.com/jj0ka4
Кто с таким сталкивался? Прошу помочь.
Заранее благодарю.
Нравится
Недавно вроде отвечал на подобный вопрос. Попробуйте esq.AddColumn("SmsStatus.Id").Name.
Чисто опытным путём было выяснено, что простые колонки и колонки, до которых можно просто добраться (пример: колонка Status, справочная. добавляем в запрос - esq.AddColumn("Status"). берём в результатах - p.GetTypedColumnValue<Guid>("StatusId") или p.GetTypedColumnValue<string>("StatusName")). Грубо говоря имеет смысл обозначать через Name только сложные пути, а-ля "Lead.QualifiedContact.Department.Name"
В серверном коде при работе с этой функцией перед Id нет точки:
Page.DataSource.ActiveRow.GetTypedColumnValue<Guid>("AccountId"));
Отображаемое значение справочного поля тоже получается без точки:
entity.GetTypedColumnValue<string>("FacilityName");