首页 新闻 会员 周边 捐助

Nhibernate 怎么写像T-SQL top 一样的语句啊!

0
悬赏园豆:10 [已解决问题] 解决于 2009-09-18 16:37

 username = Session["UserName"].ToString();
        StringBuilder sb = new StringBuilder(" from dorder in class DbOrder ");
        StringBuilder sbquery = new StringBuilder("where ( dorder.UserName ='");
        sbquery.Append(username);
        if (dbuser.AgentType != (int)DbUserConstant.AgentType.Web)
        {
            sbquery.Append("' or  dorder.AcpUser='");
            sbquery.Append(username);
        }
        sbquery.Append("')");                 
       
        sb.Append(sbquery);       
       
        sb.Append(" order by dorder.OrderID desc");
        Response.Write(sb.ToString());
        //Response.Write(sb.ToString());
        //开始计算总数量
        IList list = null;
        list = DbmapFactory.HqlLists(sb.ToString());
        this.Orderlisttop.DataSource = list;
        Orderlisttop.DataBind();


看不懂  我只想取前五条  咋整呢 ? 然后还要加个 状态 Status=0

我是完全不懂  谁帮帮我吧  最近维护一个系统  以前没用过Nhibernate   急急急  谢谢大家了!

Yellows的主页 Yellows | 初学一级 | 园豆:45
提问于:2009-09-17 22:48
< >
分享
最佳答案
0

你可以在List里面取得五条 ,通过List的index来取得你要的记录, 如果说你还需要加状态Status=0,你可以在Sbquery里面添加条件.

或者你直接用下面这个来处理,在DbmapFactory里添加一个方法(名我是随便定义的)GetDorderListByCondition()  通过_session(这个就是你定认Nhibernate里面的Session)CreateSQLQuery的方法取得,这个方法是正常我们平时用的SQL语句,下面给出一个例子

        public IList<dorder> GetDorderListByCondition()        

{
            ISQLQuery query = _session.CreateSQLQuery("select top 5 * from dorder ").AddEntity("DomainModel.Entities.dorder");//括号里面是你自己定义dorder 的类所在的位置,命名空间与类名
            IList<dorder> dorderList = query.List<dorder>();
            return dorderList;           
        }

有问题联系我的MSN吧:fenglang@live.hk,或email:whtydn@qq.com

收获园豆:10
风浪 | 老鸟四级 |园豆:2996 | 2009-09-18 10:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册