如何在动态 LINQ 中构造 has 子句

问题描述

我想在给定列列表的表中查找重复的行。我正在使用动态 LINQ 按列分组,然后想检查是否有计数大于 1 的记录。

功能和计数分组工作正常。但是,我不知道我如何构造 have 子句。

目前,我正在获取内存中的组计数列表,然后确定是否有重复项。

var columns = "new(FirstName,LastName)"
dynamic groups = await _dbContext.Users
                     .Where(x=>x.ClientID = 1234)
                     .GroupBy(columns)
                     .Select("new(Count() AS Count)")
                     .ToListAsync();

我试图避免在内存中加载列表。如果计数 > 1

查询应该返回类似 Any() 的布尔值

解决方法

我想我明白了

var columns = "new(FirstName,LastName)"
var found = _dbContext.Users
                     .Where(x=>x.ClientID = 1234)
                     .GroupBy(columns)
                     .Select("new(Count() AS Count)").Where("Count > 1").Any();