2015-07-20 113 views
-1

我得到以下错误消息为什么String.HtmlEncode无法识别?

LINQ实体无法识别方法System.String HtmlEncode(System.String)方法,该方法不能 翻译成商店表达。

使用这个LINQ的声明

using (TranEntities model = new TranEntities()) 
{ 
     studentNames = (from source in model.Students 
         where source.Name.Contains(pre) 
         select System.Web.HttpUtility.HtmlEncode(source.Name.Replace(pre, "<span style='color : red'>" + pre + "</span>"))).ToList(); 
} 
+0

你的问题是什么? –

+0

很明显,这个问题涉及错误消息的解释和解决方案。 – showdev

回答

1

你需要从LINQ到实体到步骤LINQ到对象,使用AsEnumerable方法,像这样:

using (TranEntities model = new TranEntities()) 
{ 
    var studentNamesE = (from source in model.Students 
        where source.Name.Contains(pre) 
        select source).AsEnumerable(); 

    studentNames = (from source in studentNamesE 
        select System.Web.HttpUtility 
          .HtmlEncode(source.Name.Replace(pre, 
             "<span style='color : red'>" + pre + "</span>"))) 
       .ToList(); 
}