C# 来自.select()linq的多个项目
我在过去使用过很多SQL,但我对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
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语句中创建对象。