错误:表达式树可能不包含动态操作

时间:2014-01-29 03:38:52

标签: c# asp.net sql entity-framework sql-like

我正在尝试通过Entity Framework进行where ... like ...操作。但是,我有这个错误:

  

表达式树可能不包含动态操作。

关于此代码:

var model =_db.Postes.Where(x => SqlFunctions.PatIndex("%" + ViewBag.Recherche + "%", x.nomPoste) > 0);

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

问题是ViewBag是一种动态类型,在页面或视图的编译时无法确定Recherche的类型(假设您正在使用Razor)。显式转换ViewBag.Recherche到它的类型就足以让编译器继续,你不应该再看到问题了。

答案 1 :(得分:0)

只需将ViewBag.Recherche添加到变量并在查询

中使用它
var re =  ViewBag.Recherche;

var model =_db.Postes.Where(x => SqlFunctions.PatIndex("%" + re + "%", x.nomPoste) > 0);