LINQ to SQL - Получить строку из Var - PullRequest
3 голосов
/ 21 июня 2011

Я новичок в мире LINQ to SQL - так что извините, если вопрос глупый :) - Я просто не смог найти никакого ответа в интернете:

У меня есть таблица с двумя столбцами- "Batch_Name" и "Batch_id".Пользователь выбирает идентификатор партии, и приложение должно вернуть его имя.

У меня есть этот код C # для извлечения имени партии в соответствии с идентификатором партии ("myBatchNum"):

        var thisBatch = from x in gridDB.batches
                        where x.batch_id == myBatchNum
                        select new { x.batch_name };


        lblBatchName.Text = thisBatch.First().ToString();

Это извлечение из правильного имени пакета, но когда я пытаюсь отобразить имя на элементе управления меткой, я получаю следующий результат («NightBatch - это имя в БД):

{batch_name = NightBatch}

Как правильно извлечь имя пакета из "thisBatch" в элемент управления меткой?

Большое спасибо, Ним.

Ответы [ 4 ]

4 голосов
/ 21 июня 2011

Непонятно, что вам вообще нужно использовать анонимный тип. Просто используйте:

var thisBatch = from x in gridDB.batches
                where x.batch_id == myBatchNum
                select x.batch_name;

lblBatchName.Text = thisBatch.First();

Или, если вы действительно хотите использовать анонимный тип, просто используйте свойство, которое вы фактически создали:

var thisBatch = from x in gridDB.batches
                where x.batch_id == myBatchNum
                select new { x.batch_name };

lblBatchName.Text = thisBatch.First().batch_name;
2 голосов
/ 21 июня 2011

Вы создаете анонимный тип с одним свойством с именем batch_name.Измените код, как показано ниже, чтобы вернуть строки:

var thisBatch = from x in gridDB.batches
                where x.batch_id == myBatchNum
                select x.batch_name;
1 голос
/ 21 июня 2011

Удалите ToString() в конце, так как вы уже выбрали только имя

0 голосов
/ 21 июня 2011

Вы звоните ToString() по анонимному типу, созданному вами в операторе select.Попробуйте это:

lblBatchName.Text = thisBatch.First().batch_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...