簡體   English   中英

在LINQ中將字符串拆分為實體

[英]String split in LINQ to Entities

我有一張表格,其中包含我要分析的網頁點擊量列表。 字段之一是URL ,它毫不奇怪地包含pagehit的URL。 這包括任何查詢字符串,例如http://foo.bar/default.aspx?test=1234

我想從該表中刪除查詢字符串以進行分析,並認為以下簡單的字符串拆分將起作用:

    var pageHits = from p in context.Pagehits
                   let URL = p.URL.Split('?')[0]
                   select p;

但是我得到了錯誤: The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.

鑒於表相當繁重,在沒有查詢字符串的情況下返回URL的最佳方法是什么?

編輯:如果我調用.ToList ,我可以使它工作,但是在計算上似乎過多

您可以嘗試這樣的事情

              var pageHits = from p in list
                             select p.Substring(0,p.IndexOf('?');

我制作了一個包含URL的字符串列表,僅用於檢查它是否有效(代碼中的“列表”)

               var pageHits = from p in context.Pagehits
               select p;

               pageHits.ToList().ForEach(p => 
                                   { 
                                     p.Url = p.Url.Split('?')[0];
                                   });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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