小编R P*_*zer的帖子

从数据库中检索匹配列表中多个值的记录

我在编写 C# linq 查询以根据过滤器列表的多列从数据库中检索数据时遇到问题。

项目列表包含多列(例如 A 和 B)并且是动态的。我的第一个想法是在 where 语句中写一个 any 语句,但这在 EF 中是不允许的。

var result = _repository.Where(x => items.Any(y => x.A == y.A && x.B == y.B));
Run Code Online (Sandbox Code Playgroud)

我也只在 A 上尝试过过滤器,检索所有数据并在 B 上过滤,但效果不佳。

var ListA = items.Select(x => x.A).ToList();
var result = _repository.Get(x => ListA.Contains(x.A));
Run Code Online (Sandbox Code Playgroud)

另一种方法是创建一些 c# 代码来生成如下内容:

SELECT A,B,C,D
FROM Items 
WHERE 
    (A = 1 AND b = 1) OR 
    (A = 7 AND b = 2) OR 
    (A = 4 AND b = 3)
Run Code Online (Sandbox Code Playgroud)

但是没有像样的方法来做到这一点。

有谁知道如何解决这个问题?

c# linq entity-framework

6
推荐指数
1
解决办法
762
查看次数

在 WIQL 中使用 Group By 和 Count 语句 (Azure Dev Ops)

我想要进行 WIQL 查询来对“Bug”类型的工作项进行计数,并按标题和软件版本字段进行分组。但是,WIQL 中没有 group by 功能。有人有其他方法可以在 WIQL 中实现此功能吗?

SELECT
    [System.Title],
    [System.State],
    count(*)
FROM workitems
WHERE
    [System.WorkItemType] = 'Bug'
    AND [System.State] <> ''
GROUP BY [System.Title], [Custom.ToolSoftwareVersion]
Run Code Online (Sandbox Code Playgroud)

查询用于创建仪表板和概述等。

wiql azure-devops

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

azure-devops ×1

c# ×1

entity-framework ×1

linq ×1

wiql ×1