我有一个表,其中包含我想分析的分页列表。其中一个字段是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
,我可以使它工作,但这看似计算过多
答案 0 :(得分:2)
您可以尝试这样的事情
var pageHits = from p in list
select p.Substring(0,p.IndexOf('?');
我制作了一个包含网址的字符串列表,仅用于检查它是否有效(我的代码中的“列表”)
答案 1 :(得分:-2)
var pageHits = from p in context.Pagehits
select p;
pageHits.ToList().ForEach(p =>
{
p.Url = p.Url.Split('?')[0];
});