我使用下面的查询获取 Entity Framework Linq 中的所有列(另外 20 个)。由于内存不足异常,我只想得到其中的两个。一个是“FileName”,另一个是“FilePath”。如何修改我的代码?
var query = DBContext.Table1
.Where(c => c.FacilityID == facilityID && c.FilePath != null && c.TimeStationOffHook < oldDate)
.OrderBy(c => c.FilePath)
.Skip(1000)
.Take(1000)
.ToList();
foreach(var t in query)
{
Console.WriteLine(t.FilePath +"\\"+t.FileName);
}
最佳答案
var query = DBContext.Table1.Where(c => c.FacilityID == facilityID && c.FilePath != null && c.TimeStationOffHook < oldDate)
.OrderBy(c => c.FilePath)
.Skip(1000)
.Take(1000)
.Select(c => new { c.FilePath, c.FileName })
.ToList();
foreach(var t in query)
{
Console.WriteLine(t.FilePath +"\\"+t.FileName);
}
您需要使用 Select
.
关于c# - 通过 linq 从表中选择两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730691/