C# 来自.select()linq的多个项目

C# 来自.select()linq的多个项目,c#,linq,C#,Linq,我在过去使用过很多SQL,但我对LINQ是新手。下面的查询成功地从相关表中选择了otherID,但是当我尝试选择多个列时,我无法这样做。 以下是我的问题: 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

我在过去使用过很多SQL,但我对LINQ是新手。下面的查询成功地从相关表中选择了
otherID
,但是当我尝试选择多个列时,我无法这样做。 以下是我的问题:

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();

我无法使其工作,非常感谢您的帮助,谢谢您做出更改是select声明:

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

在select语句中进行更改:

    var getQ = db.Requests.Where(x => temp.Contains(x.carID)).Select(x => new{x.otherID, x.dayID}).ToList();
可以使用来返回多个列

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();
可以使用来返回多个列

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();

选择“始终返回对象集合”,则必须在select语句中创建对象。选择“始终返回对象集合”,则必须在select语句中创建对象。