【问题标题】:Select specific columns from First() row with Linq2sql使用 Linq2sql 从 First() 行中选择特定列
【发布时间】:2018-12-03 15:28:32
【问题描述】:

我想在 Linq2sql 查询中使用First(),但我不希望数据库返回整行,只返回特定列。有没有办法做到这一点?

如果我使用Where(),那么我可以使用Select()(虽然它仍然是IQueryable),但如果我使用Where(),它将遍历所有行而不是在找到匹配项时停止。

【问题讨论】:

  • SELECT ColumnName FROM Table?
  • @Sami 我刚刚编辑了这个问题,以防有人没有注意到linq-to-sql 标签。
  • 您想要 linq 答案还是 SQL 答案?
  • @jarlh 根据编辑和评论,他在寻找一个linq的答案
  • 先写Where().Select(),然后然后使用First()。这相当于SELECT TOP 1 col1,col2 ..... WHERE ..

标签: c# sql .net sql-server linq-to-sql


【解决方案1】:

当您使用“Where”时,它不会遍历所有记录,直到您实际执行查询。因为这就是linq works 的方式,直到您实际使用查询的结果(将其转换为列表、绑定到网格视图等...)它不会执行,因此您可以添加任意数量的条件,它们会合并为一个查询。

所以 where.select.first 应该可以工作

【讨论】:

    猜你喜欢
    • 2014-05-16
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多