首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于获取单个列的数据的Lambda表达式,其中值"In“

用于获取单个列的数据的Lambda表达式,其中值"In“
EN

Stack Overflow用户
提问于 2012-07-01 04:56:27
回答 2查看 27.8K关注 0票数 2

我有一个包含3列(A、B、C )的SQL表"tablex“。

下面的lambada表达式返回10行。

代码语言:javascript
复制
var versions = versionRepository.GetVersions(a.id)

10个结果的B列将数据存储为:1、2、3、4、5、6、7、8、9、10

谁能帮我解决lambda表达式,只得到C列的结果,其中b在(2,3,4)中。

所以我应该只得到3行C列数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-01 05:02:45

使用Where扩展方法筛选数据,使用Select扩展方法仅获取C属性:

代码语言:javascript
复制
var versions =
  versionRepository.GetVersions(a.id)
  .Where(v => v.B >= 2 && v.B <= 4)
  .Select(v => v.C);

( v => v.C部分是lambda表达式的一个示例。)

票数 15
EN

Stack Overflow用户

发布于 2012-07-01 05:17:16

您可以使用Contains检查它是否与您要查找的数字之一匹配:

代码语言:javascript
复制
List<int> ids = new List<int> { 2, 3, 4, 10 };

var versions =
  versionRepository.GetVersions(a.id)
  .Where(v => ids.Contains(v.B))
  .Select(v => v.C);

这里的技巧是反转它,而不是检查B是否是所需的数字之一,只需检查数字列表是否包含B即可。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11277606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档