Чтение из базы данных с помощью объекта DBExecutor.

Коллеги, приветствую.

Столкнулся с некоторыми трудностями чтения из базы данных с помощью объекта DBExecutor.

Есть простой кастомный запрос:

 

var userConnection = Get("UserConnection");
Guid addedRecordId = Get("addedRecordId");

var selectQuery = new Select(userConnection)
        .Column("UsrName")
        .From("UsrDebt").As("ud")
        .Where("UD", "Id")
                .IsEqual(Column.Parameter(addedRecordId));

 

Читаю значение UsrName (пример - Помогите с запросом):

 

using (var dbExecutor = userConnection.EnsureDBConnection()) {
        var name = selectQuery.ExecuteScalar(dbExecutor); // строка 46
}

 

Получаю ошибку компиляции -

Если читаю набор данных, как показано в статье Использование EntitySchemaQuery для построения запросов к базе данных:

 

var userConnection = Get("UserConnection");
Guid addedRecordId = Get("addedRecordId");

var selectQuery =
        new Select(userConnection)
        .Column("UsrName")
        .From("UsrDebt").As("ud")
        .Where("UD", "Id")
                .IsEqual(Column.Parameter(addedRecordId));

// Выполнение запроса к базе данных и получение результирующего набора данных.
using (DBExecutor dbExecutor = userConnection.EnsureDBConnection())
{
    using (IDataReader reader = selectQuery.ExecuteReader(dbExecutor)) // строка 48
    {
        while (reader.Read())
        {
            // Обработка результатов запроса.
        }
    }
}

 

Получаю такую ошибку:

Как я могу получить значения из базы данных с помощью объекта DBExecutor?

Был бы весьма признателен за информацию.

Спасибо.

--
С уважением, Алексей Быков.

Нравится

1 комментарий

Добавил преобразование к типу Select, теперь все Ок.

var selectQuery = new Select(userConnection)
    	.Column("UsrName")
    	.From("UsrDebt").As("ud")
    	.Where("UD", "Id")
	.IsEqual(Column.Parameter(addedRecordId)) as Select;
Показать все комментарии