var paymentTypes = _context
.BursaryTransactions
.Select(c => c.PaymentType)
.ToList();
string[] obj = paymentTypes
.ToArray();
var a = obj[1];
第一行从BursaryTransactions
表中检索字符串形式的付款类型列表
第二行将列表转换为数组。
但是第一行中的列表包含类似的字符串
- 邮寄主题
- 学费
- 学费
- 邮寄给我
- Hnd表格
- Hnd表格
我想过滤这些列表并仅检索出现一次以上的项目的一次出现。然后将新列表转换为数组。
答案 0 :(得分:4)
您可以尝试GroupBy
并选择项目多于1
的组:
var result = _context
.BursaryTransactions
.GroupBy(c => c.PaymentType) // Group By PaymentType
.Where(group => group.Count() > 1) // groups with more than 1 item
.Select(group => group.First()) // we want just the 1st item of such group
.ToList(); // materialized as a List<T>
编辑:删除重复项,我们可以从每个First
中提取group
个项目:
var result = _context
.BursaryTransactions
.GroupBy(c => c.PaymentType)
.Select(group => group.First()) // First().PaymentType if you want PaymentType only
.ToList();
答案 1 :(得分:0)
您可以尝试这种方式
var result = _context.BursaryTransactions.GroupBy(c => c.PaymentType)
.Where(g => g.Count() > 1)
.Select(g => g.First())
.ToArray();