2010-11-08 91 views

回答

0

回答以下评论:

string teststring = "one, two, three"; 

var x = from string z in (teststring.Split(',').AsEnumerable()) 
where z.Trim() == "two" 
select z; 

你到底想干什么?下面的工作只是在LINQPad

from z in ("4,3,5,2,1".Split(',').AsEnumerable()) 
    select z 

+0

//我如何评估动态Linq中是否包含子字符串'two'? string teststring =“(\”one,two,three \“。Split(','))”; – ljm 2010-11-08 20:42:27

+0

好的,我会为你写的... – Hogan 2010-11-08 20:43:19

+0

回顾这个来理解我的问题的上下文。 http://aspalliance.com/1569_Dynamic_LINQ_Part_1_Using_the_LINQ_Dynamic_Query_Library – ljm 2010-11-08 21:12:10

1

动态罚款的LINQ确实支持String.Split,也呼吁其他.NET类型的方法如下图所示

var query = 
       db.Customers.Where("City.Split(\"abc\".ToCharArray()).Length == 1 and Orders.Count >= @1", "London", 10). 
       OrderBy("CompanyName"). 
       Select("New(CompanyName as Name, Phone)"); 

它能够将字符串转换为表达式树,但作为SQL没有任何字符串拆分操作,它会抛出错误,如果您在SQL上运行它会抛出错误