2015-05-07 5 views
0

Я использовал много SQL в прошлом, но новичок в LINQ. У меня есть следующий запрос, который успешно выбирает otherID из соответствующей таблицы, однако, когда я пытаюсь выбрать несколько столбцов, я не могу этого сделать. Это мой следующий запрос:Несколько элементов из .select() linq

var getQ = db.Requests.Where(x => temp.Contains(x.carID)).Select(x => x.otherID).ToList(); 

Я попытался

var getQ = db.Requests.Where(x => temp.Contains(x.carID)).Select(x => x.otherID && x.dayID).ToList(); 

Я не могу заставить его работать, любая помощь приветствуется, спасибо

ответ

0

внести изменения является оператор выбора:

var getQ = db.Requests.Where(x => temp.Contains(x.carID)).Select(x => new{x.otherID, x.dayID}).ToList(); 
+0

выбор всегда возвращает коллекцию объекта, поэтому вам нужно создать объект в инструкции select. –

5

Вы можете использовать nonymous type для возврата нескольких столбцов

var getQ = db.Requests.Where(x => temp.Contains(x.carID)) 
         .Select(x => new { OtherID = x.otherID, DayID = x.dayID).ToList(); 

Вы можете создать собственный класс, поскольку анонимный тип не может быть возвращен из метода.

class YourClass 
{ 
    public int OtherID { get; set; } 
    public int DayID { get; set; } 
} 

var getQ = db.Requests.Where(x => temp.Contains(x.carID)) 
         .Select(x => new YourClass { OtherID = x.otherID, DayID = x.dayID).ToList(); 
Смежные вопросы