c# - 通过 linq 从表中选择两列

标签 c# linq

我使用下面的查询获取 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/

相关文章:

c# - 有什么方法可以将此查询重写为更多 "LINQ-ier"吗?

c# - 在 EF6 中将匿名类型转换为 IEnumerable<>

c# - 如何找到两个字符串之间的差异?

c# - 无法将方法组 'FirstOrDefault' 转换为非委托(delegate)类型

c# - 将类的属性设置为函数的参数

c# - novacode docx 中的垂直表格无边框

.net - NHibernate:更改授权查询

c# - 访问 WP7 联系人

c# - 无法从动态加载的程序集中加载资源

c# - 带有 OAuthBase.cs 的雅虎 Oauth API