首页 新闻 会员 周边

Mongodb: 如何编写动态查询语句

1
悬赏园豆:100 [已关闭问题] 关闭于 2010-08-02 14:24

数据库:Mongodb,driver:C sharp Mongodb

现有一个类如下: 

public class Threading
{
public MongoDB.Oid Id { get; set; }
public string Title { get; set; }
public string Summary { get; set; }
public MongoDB.Oid InfoType { get; set; }

public string CreatedBy { get; set; }
public DateTime CreatedTime { get; set; }
public string LastUpdatedBy { get; set; }
public DateTime LastUpdatedTime { get; set; }
}

 

查询条件类如下:

public class ThreadingSearchCriteria
{
public string ContainsKey { get; set; }
public string IgnoreKey { get; set; }
public MongoDB.Oid InfoType { get; set; }
public DateTime CutoffDate { get; set; }
}
目的:先按查询条件过滤再按InfoType分组,并返回相应的记录数

var grouping = Enumerable.ToList(
from p
in threading.Linq()
where p.Title.Contains(searchCriteria.ContainsKey) &&
p.Summary.Contains(searchCriteria.ContainsKey)
&&
!p.Title.Contains(searchCriteria.IgnoreKey) &&
!p.Summary.Contains(searchCriteria.IgnoreKey) &&
p.InfoType
==searchCriteria.InfoType &&
p.LastUpdatedTime >= searchCriteria.CutoffDate
group p by p.InfoType into g
select
new
{
Key
= g.Key,
Count
= g.Count()
});
当ThreadingSearchCriteria类的所有属性都为初始值时,返回记录数为0,但我期望是返回所有结果,我不知道哪个地方写错了,请高手指教,我在网上搜了半天也没结果,只要发帖求助了,帮帮忙,谢谢先。

小树爸爸的主页 小树爸爸 | 菜鸟二级 | 园豆:210
提问于:2010-07-29 01:14
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册