[英]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.