Коллеги, приветствую.
Есть некоторый запрос к базе данных, полученный с использованием класса SELECT (считывается информация о платежах за период по ФИО должника.):
var selectPaymentsRegister = (Select)new Select(userConnection)
.Column("c", "Surname").As("Surname")
.Column("c", "GivenName").As("Name")
.Column("c", "MiddleName").As("MiddleName")
.Column("c", "Name").As("FullName")
.Column("c", "Phone").As("Phone")
.Column("c", "Address").As("Address")
.Column("up", "UsrPaymentSum").As("Amount")
.Column("up", "UsrPaymentDate").As("AmountDate")
.From("UsrPayments").As("up")
.Join(JoinType.Inner, "Contact").As("c")
.On("up", "UsrDebtorId").IsEqual("c", "Id")
.Where("c", "Surname").IsEqual(Column.Parameter(debtorSurname))
.And("c", "GivenName").IsEqual(Column.Parameter(debtorName))
.And("c", "MiddleName").IsEqual(Column.Parameter(debtorMiddleName))
.And("up", "UsrPaymentDate").IsGreaterOrEqual(Column.Parameter(dateBegin))
.And("up", "UsrPaymentDate").IsLessOrEqual(Column.Parameter(dateEnd))
as Select;
.Column("c", "Surname").As("Surname")
.Column("c", "GivenName").As("Name")
.Column("c", "MiddleName").As("MiddleName")
.Column("c", "Name").As("FullName")
.Column("c", "Phone").As("Phone")
.Column("c", "Address").As("Address")
.Column("up", "UsrPaymentSum").As("Amount")
.Column("up", "UsrPaymentDate").As("AmountDate")
.From("UsrPayments").As("up")
.Join(JoinType.Inner, "Contact").As("c")
.On("up", "UsrDebtorId").IsEqual("c", "Id")
.Where("c", "Surname").IsEqual(Column.Parameter(debtorSurname))
.And("c", "GivenName").IsEqual(Column.Parameter(debtorName))
.And("c", "MiddleName").IsEqual(Column.Parameter(debtorMiddleName))
.And("up", "UsrPaymentDate").IsGreaterOrEqual(Column.Parameter(dateBegin))
.And("up", "UsrPaymentDate").IsLessOrEqual(Column.Parameter(dateEnd))
as Select;
Далее, с использованием IDataReader в цикле я получаю значения полей.
Как составить такой же запрос, но с использованием EntitySchemaQuery? Хочу подробнее разобраться в этой теме.
Был бы весьма признателен за информацию.
Спасибо.
--
С уважением, Алексей Быков.
Нравится
2 комментария
20 апреля 2016 07:55
Здесь вся доступна инфа по ESQ - http://academy.terrasoft.ru/documents/docs/technic/SDK/7.7.0/UsingEntit…. Должно помочь.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать