首页 新闻 赞助 找找看

如何动态传递linq中的条件?

0
悬赏园豆:10 [待解决问题]
public IQueryable<Offer> GetList()
        {

            return from o in db.Offers

                   where o.Status==1

                   orderby o.OfferId descending

                   select o;

        }

其中的o.Status==1怎么通过方法参数传递?GetList(where)

红尘中迷茫的主页 红尘中迷茫 | 初学一级 | 园豆:60
提问于:2013-04-02 18:15
< >
分享
所有回答(3)
0
public IQueryable<Offer> GetList(int? Status)
        {
            var q = from o in db.Offers

                   orderby o.OfferId descending

                   select o;
            if (Status.HasValue)
            {
                    q =q.Where(o=>o.Status == Status.Value);
            }
            return q ;

        }
geass.. | 园豆:1821 (小虾三级) | 2013-04-02 18:41

。。额,有无通用办法,如果传递的是 o.Title='abc'呢?

支持(0) 反对(0) 红尘中迷茫 | 园豆:60 (初学一级) | 2013-04-02 18:54
0

晕死 传递lambda表达式不就ok了

丫的 | 园豆:1575 (小虾三级) | 2013-04-02 19:09
0

使用表达式树的方法很通用,参见http://msdn.microsoft.com/zh-cn/library/vstudio/bb882637.aspx

sinhbv | 园豆:2579 (老鸟四级) | 2013-04-02 20:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册