Linq To Sql Получить данные в Label - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть ярлык для отображения BookName. Я получаю это из таблицы, которую называют tblBooks. Я не знаю, как показать название книги на этикетке.

var query = from b in dc.tblBooks.Where(b=>b.BookID == 'B01') select b;

Можете ли вы помочь мне узнать.

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Попробуйте:

label.Text = query.FirstOrDefault().BookName;
1 голос
/ 29 ноября 2011

Ваш запрос в письменном виде вернет коллекцию книг - IQueryable<Book>. Если вы уверены, что в этом запросе будет только один результат, вы можете вызвать SingleOrDefault, который немедленно выполнит запрос и выдаст вам настоящую книгу.

var Book = dc.tblBooks.Where(b => b.BookID == 'B01').SingleOrDefault();
if (Book != null)
    myLabel.Text = Book.BookName;

Или вы можете просто сказать:

var Book = dc.tblBooks.SingleOrDefault(b => b.BookID == 'B01');

Что делает то же самое.

Если вы на 110% уверены, что всегда будет результатом, и вы не хотите проверять на ноль, тогда вы можете использовать Single, что будет делать то же самое, кроме выдает исключение, если результатов не найдено, где SingleOrDefault simple возвращает ноль.

var Book = dc.tblBooks.Single(b=>b.BookID == 'B01');     
myLabel.Text = Book.BookName;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...