我使用下面的查询来获取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);
}
Run Code Online (Sandbox Code Playgroud)
Dan*_*ley 11
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);
}
Run Code Online (Sandbox Code Playgroud)
你需要使用Select.