抛开ORM, LINQ等。
N层架构各层职责分离,UI层和BLL层不能出现字段、表、SQL代码等相关的东西。
现在如果要实现像淘宝这种十分复杂灵活的查询及排序如何实现。
希望能提供解决方案的代码示例。
没有必要刻意强调什么DAL、BLL之类的。
查询条件就那么几个的组合,商品类别、地点、关键词,排序有价格、时间、浏览次数等。如果你不想sql拼接,那么把这些组合的语句都写好,然后参数绑定。
谁能提供给你?,不过看看petshop咋实现的~还有园子里“MySpace"架构介绍等相关的文章:http://www.cnblogs.com/liushouzhao/archive/2008/10/30/1322634.html你看看吧,希望对你有帮助。再有了做那么大的项目得有一个大的团队
楼上的说得很对,petshop和MySpace的查询方式没问题的。
BlogEngine的Post的查询方式不知道是否满足你的要求,可以参考一下我的这篇文章:
http://www.cnblogs.com/Thriving-Country/archive/2008/11/07/1328233.html
其实我觉得更适合你的方法是下面这种方法:
List<xxxx> objetcs = xxxx.Fill(string condition1,string conditon2.....)给页面使用或者干脆直接
List<xxxx> objetcs = xxxx.Fill(string condition)参数可以是类似xxx=yyy AND eee=aaa这种.
再复杂的查询,条件也是有限的,将所有条件设计为一个类,通过传递此类的对象,在BLL层形成条件,在DAL中执行条件的查询 ,如果条件有添加或修改,只需要修改一个类的定义而不需要修改BLL和DAL层的方法签名
不大明白楼主的意思。
你只是做查询参数用,传类不如传枚举或者结构,传结构不如传字典,哈希表。
拼sql有什么不好?分页用ado分。
taobao的查询已经独立了吧,据说是改的lucene的
路过,学习了....
定义实例体类,传参时传的是类的对像
参数定义用实体类,Dao使用IBatis.Net的dynamic where
人家查询肯定不是数据库查询出来的呀,肯定是用全文搜索呀,用空间换时间