[英]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.