繁体   English   中英

LINQ-如何创建不同项目的列表

[英]LINQ - how to create a list of distinct items

我该如何进行LINQ查询,以从Workpacks表中返回一个新的不同运算符列表(数据库未规范化)。 我收到此查询,但是我不知道如何正确使用DISTINCT,以使SQL Server不会返回重复值

Instance.CriteriaOperatorList = 
    (from v in context.Workpacks
     select new FilterCriteriaItem()
     {
         GUID = Guid.NewGuid(),
         Name = v.Operator,
     }).ToList();

您想从Workpack获取不同的Operator ,然后获取它们。 最简单的方法是不使用SQL LINQ语法。

Instance.CriteriaOperatorList = context.Workpacks
                                       // Only request the Operator names
                                       .Select(w => w.Operator)
                                       // But just request the distinct names
                                       .Distinct()
                                       // Then select into your DTO.
                                       .Select(o => new FilterCriteriaItem
                                       {
                                           GUID = Guid.NewGuid(),
                                           Name = o // o is the Operator from Workpack
                                       })
                                       .ToList();

只需在.To list()之前使用.Distinct()。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM