我试图通过实体框架执行where ... like ...
操作。但是,我有这个错误:错误:表达式树可能不包含动态操作
表达式树可能不包含动态操作。
这个代码:
var model =_db.Postes.Where(x => SqlFunctions.PatIndex("%" + ViewBag.Recherche + "%", x.nomPoste) > 0);
如何来解决这个问题,好吗?
我试图通过实体框架执行where ... like ...
操作。但是,我有这个错误:错误:表达式树可能不包含动态操作
表达式树可能不包含动态操作。
这个代码:
var model =_db.Postes.Where(x => SqlFunctions.PatIndex("%" + ViewBag.Recherche + "%", x.nomPoste) > 0);
如何来解决这个问题,好吗?
问题是ViewBag是一个动态类型,并且Recherche
的类型无法在页面或视图的编译时确定(假设您使用的是Razor)。将ViewBag.Recherche直接转换为其类型足以让编译器继续工作,并且不应再看到问题。
只需添加ViewBag.Recherche一个变量,并且使用它里面查询
var re = ViewBag.Recherche;
var model =_db.Postes.Where(x => SqlFunctions.PatIndex("%" + re + "%", x.nomPoste) > 0);
尝试分配ViewBag.Recherche给一个变量,并使用在您的查询。 – spender
非常感谢,它的作品! – user3212730