SubSonic: 如何在where子句中写嵌套语句

subsonic好,subsonic妙,subsonic呱呱叫!~

 

啦了个啦,啦了个啦,啦了个啦……

 

这真是个好东西, 我基本上不用为db操什么心,

费什么劲儿.但是subsonic 2.x好像在多表

查询分页时有bug. 暂时没心情去折腾,以后

有兴趣了再说吧.

===========================

进入正题.

今天在写一个sql脚本时,需要这样一种写法:

where (a o b) and c;

当时给我一愣. 貌似以前没用subsonic写过这样子

的脚本.

翻subsonic的api,发现有一个whereexpression()

的函数. 接受参数是一个字符串. 这个玩意儿和where()

貌似无太大差别. 但是这个expression提醒了我. 我

要写得是个子表达式呀!

 

于是来到subsonic官网一找, 找到这样一句:

     ProductCollection products = Select.AllColumnsFrom<Product>()
                .WhereExpression("categoryID").IsEqualTo(5).And("productid").IsGreaterThan(10)
                .Or("categoryID").IsEqualTo(2).AndExpression("productID").IsBetweenAnd(2, 5)
                .ExecuteAsCollection<ProductCollection>();
WhereExpression, AndExpression, 有戏. 看来这个
就能实现俺的需求了. 
于是测试,然后正确!!~
 
---------------------------
---------------------------

posted on 2011-05-18 15:52  sunshaozong  阅读(878)  评论(0编辑  收藏  举报