Получить данные из базы данных и вернуться в текстовое поле, используя Entity Framework - PullRequest
0 голосов
/ 16 ноября 2018
using (var db = new CrabContext())
{
    var query = db.Reading.Select(s => new
                                       { s.Left1 })
                          .Select(x => x.ToString());
    t1.Text = query;
    //t1.Text == db.Reading.Select(s => new { s.Left1 });
}

Я пытаюсь получить данные из базы данных, как указано выше, но мой t1.Text не может получить данные, но я получаю сообщение об ошибке типа

Не могу неявнопреобразовать тип 'System.Linq.IQueryable' в 'String'

1 Ответ

0 голосов
/ 16 ноября 2018

Это потому, что .Select() возвращает IQueryable, IQueryable недоступен, потому что тип данных не указан, поэтому он доступен только при компиляции, если вы хотите, чтобы значение непосредственно предпочиталось использовать FirstOrDefault вы можете передать лямбда-выражение внутрь для извлечения определенного объекта.

using (var db = new CrabContext())
{
    var query = db.Reading.FirstOrDefault();
    t1.Text = query.Left1;
}

Но с решением, которое я предоставляю, вызов make для БД будет SELECT * FROM Reading, а затем вы получите доступ к свойству Left1 с IQueryable запрос SELECT Left1 FROM Reading, но вы не можете получить доступ к свойству ... Другим решением будет вызов .toList() в конце вашего запроса ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...