不同的列表 LINQ 查询
distinct list LINQ Query
正在尝试 return LINQ 中不同的子字符串列表。
这是 return 列表,但有 100 条记录带有子字符串。我只想 return 不同的列表。
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 requires a collection argument.
按照您当前的操作方式,它将尝试对每个证书编号的前四个字符执行 Distinct(去除重复字符),然后 return all 个结果。您可能会收到错误消息,因为您正在使用的驱动程序无法以这种方式创建有效的 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();
正在尝试 return LINQ 中不同的子字符串列表。
这是 return 列表,但有 100 条记录带有子字符串。我只想 return 不同的列表。
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 requires a collection argument.
按照您当前的操作方式,它将尝试对每个证书编号的前四个字符执行 Distinct(去除重复字符),然后 return all 个结果。您可能会收到错误消息,因为您正在使用的驱动程序无法以这种方式创建有效的 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();