[英]distinct list LINQ Query
试图在LINQ中返回一个不同的SubString列表。
这将返回列表,但有100个记录与子字符串。 我只想返回不同的列表。
var query = from b in db.Certificates
select b.CertificateNumber.Substring(0,4);
ViewBag.BoxNumber = new SelectList(query.ToList());
我尝试添加不同的
select b.CertificateNumber.Substring(0,4).Distinct();
但它扔了
DbDistinctExpression需要一个集合参数。
你目前正在这样做的方式,它将尝试对每个证书编号的前四个字符做一个区别(删除重复的字符),然后返回所有结果。 您可能会收到错误,因为您使用的驱动程序无法以这种方式创建有效的SQL查询。
相反,在调用Distinct
之前用括号括起查询的整个第一部分,如下所示:
var query = (from b in db.Certificates
select b.CertificateNumber.Substring(0,4)).Distinct();
或者,使用方法语法而不是查询和方法语法的混合:
var query = db.Certificates
.Select(cer => cer.CertificateNumber.Substring(0,4))
.Distinct();
我知道了
ViewBag.BoxNumber = new SelectList(query.ToList().Distinct());
var certificatesList = (from b in db.Certificates
select b.CertificateNumber.Substring(0,4)).Distinct().ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.