簡體   English   中英

Linq / 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM