[英]Linq to Sql, group by 2 property and substring
我有一個初始查詢,我想修改以增加結果的粒度。 但Visual Studio告訴我我的查詢無效,我無法理解為什么。 基本上我想根據2個屬性(列)對數據進行分組,並且還按前N個字符對屬性中的一個進行分組。
有效的初始查詢:
List<PostalCode> codes = (from customer in bd.Customers
group customer by customer.postalcode.Substring(0, postalCodeLength) into postalCodes
select new PostalCode
{
Postal = postalCodes.Key,
Count = postalCodes.Count()
}).ToList();
return codes;
由VS2010標記為**錯誤的查詢:
List<PostalCode> codes = (from customer in bd.Customers
group customer by new { **customer.postalcode.Substring(0, postalCodeLength)**, customer.CustomerGroupType}
into postalCodes
select new PostalCode
{
Postal = postalCodes.Key.postalcode,
CustomerGroupType = postalCodes.Key.CustomerGroupType,
Count = postalCodes.Count()
}).ToList();
return codes;
新的{}對象語法要求屬性具有名稱 - 這是您的原始查詢不需要的名稱。 它無法從方法調用中推斷出名稱。 所以我建議將其更改為:
from customer in bd.Customers
group customer by new { TrimmedPostalCode = customer.postalcode.Substring(0, postalCodeLength), customer.CustomerGroupType}
into postalCodes
select new PostalCode
{
Postal = postalCodes.Key.TrimmedPostalCode,
CustomerGroupType = postalCodes.Key.CustomerGroupType,
Count = postalCodes.Count()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.