如何创建一个LINQ查询,该查询将从Workpacks表返回一个新的不同Operators列表(DB未规范化)。我收到了这个查询,但我不知道如何正确使用DISTINCT,以便SQL服务器不返回重复值
Instance.CriteriaOperatorList =
(from v in context.Workpacks
select new FilterCriteriaItem()
{
GUID = Guid.NewGuid(),
Name = v.Operator,
}).ToList();
答案 0 :(得分:2)
您希望从Operator
获取不同的Workpack
,然后获取这些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();
。最简单的方法是不使用SQL LINQ语法。
// Check if it is supported
if (ApplicationView.GetForCurrentView().IsViewModeSupported(ApplicationViewMode.CompactOverlay))
{
// Supported
}
else
{
// Not supported
}
答案 1 :(得分:0)
在.To list()。
之前使用.Distinct()