问题描述
我想在给定列列表的表中查找重复的行。我正在使用动态 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();