[英]Anonymous Type Error in Linq using Group, Sum, and selecting multiple fields of data after reading in spreadsheet with LinqToExcel
[英]Linq / Linqtoexcel issue selecting
我有一個奇怪的問題,我完全不理解。 也許我想念一些東西。
var excel = new ExcelQueryFactory("products.xlsx");
//get all products with discount
var discounts = from s in excel.Worksheet() where
s["Discount/Premium"].Cast<string>().StartsWith("-") select s;
//Select products with a YTM higher than 3
var applicable = from b in discounts where
b["YTM"].Cast<double>() > 3.0 select b;
MessageBox.Show(discounts.Count().ToString()); //<- returns 51
MessageBox.Show(applicable.Count().ToString()); //<- returns 14826
products.xlsx
傳開50'000
行/產品 51
商品有折扣 14'000
產品的“ YTM> 3.0”- 這怎么可能? 據我所知,我正在以折扣價搜索YTM產品。 我怎樣才能從51中獲得14'000種產品? 我想念什么嗎?
最好的問候,朱利安
您正在使用第三方庫,該庫允許您通過xls( Linq to Excel )進行查詢。 但是第二個查詢中的問題應歸因於如何實現Linq提供程序來查詢excel文檔。 在調用ToList()
, ToList()
這些行帶入內存,因此不再使用該Linq提供程序,現在在51行中使用Linq to Object。
通常,當您根據情況編寫查詢時,Linq提供程序&&
您在第二個查詢中應用的條件視為&&
。 我不知道為什么在Linq to Excel中不是這種情況
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.