2014-01-29 38 views
0

我试图通过实体框架执行where ... like ...操作。但是,我有这个错误:错误:表达式树可能不包含动态操作

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

这个代码:

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

如何来解决这个问题,好吗?

+4

尝试分配ViewBag.Recherche给一个变量,并使用在您的查询。 – spender

+0

非常感谢,它的作品! – user3212730

回答

0

问题是ViewBag是一个动态类型,并且Recherche的类型无法在页面或视图的编译时确定(假设您使用的是Razor)。将ViewBag.Recherche直接转换为其类型足以让编译器继续工作,并且不应再看到问题。

0

只需添加ViewBag.Recherche一个变量,并且使用它里面查询

var re = ViewBag.Recherche; 

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