C# 如何使用像linqkit这样的

C# 如何使用像linqkit这样的,c#,linq,linqkit,C#,Linq,Linqkit,我想从linq中名称为%d\u v\u n%的数据中选择类似于的内容 然后,预期结果将是“divan”、“dîvan”、“div–n”、“dîv–n” //这个linqkit代码 var searchPredicate=PredicateBuilder.False(); searchPredicate=searchPredicate.Or(m=>m.TRTitle.ToLower().Contains(“d_v_n”)); query=query.AsExpandable().Where(sea

我想从linq中名称为%d\u v\u n%的数据中选择类似于
的内容

然后,预期结果将是
“divan”、“dîvan”、“div–n”、“dîv–n”

//这个linqkit代码
var searchPredicate=PredicateBuilder.False();
searchPredicate=searchPredicate.Or(m=>m.TRTitle.ToLower().Contains(“d_v_n”));
query=query.AsExpandable().Where(searchPredicate);

空结果

我认为,您可以使用
SqlMethods。例如(matchExpression,pattern)
如下:

 //this linqkit code
 var searchPredicate = PredicateBuilder.False<ViewModelListManuscript>();    
 searchPredicate = searchPredicate.Or(m =>  m.TRTitle.ToLower().Contains("d_v_n"));    
 query = query.AsExpandable().Where(searchPredicate);

当我使用SqlMethods时,查询被扭曲了。如果只有一个谓词,为什么要使用PredicateBuilder?
 //this linqkit code
 var searchPredicate = PredicateBuilder.False<ViewModelListManuscript>();    
 searchPredicate = searchPredicate.Or(m =>  m.TRTitle.ToLower().Contains("d_v_n"));    
 query = query.AsExpandable().Where(searchPredicate);
 var results = from dl in DataList
               where SqlMethods.Like(dl.Name,"%d_v_n%")
               select dl;