读书人

linq to sql查询有关问题

发布时间: 2013-07-08 14:13:00 作者: rapoo

linq to sql查询问题。
数据库有个时间字段,根据这个时间查询1个月内的数据,3个月内的数据,和六个月内的数据,如何查询,谢谢
[解决办法]


var result = db.表名.Where(obj=> obj.时间字段 >= DateTime.Now.AddMonth(-1) && obj.时间字段<= DateTime.Now); //1月内
var result = db.表名.Where(obj=> obj.时间字段 >= DateTime.Now.AddMonth(-3) && obj.时间字段<= DateTime.Now); //3月内
var result = db.表名.Where(obj=> obj.时间字段 >= DateTime.Now.AddMonth(-6) && obj.时间字段<= DateTime.Now); //6月内

[解决办法]
dt是表对象:
IEnumerable<DataRow> query1 = dt.AsEnumerable().Where(t => (当前时间-t.时间1)<=3).ToList()

大致应该是这样。
[解决办法]
IEnumerable不用转成这个也可以,看自己写代码的习惯。
[解决办法]
引用:
数据库有个时间字段,根据这个时间查询1个月内的数据,3个月内的数据,和六个月内的数据,如何查询,谢谢

1楼是正解 但是像DateTime.Now.AddMonth(-1)这样的 linq不支持方法 应该写在外面
[解决办法]
方法很多,
var query= db.表名.Where(d=> d.时间字段 >= DateTime.Now.AddMonth(-1) && d.时间字段<= DateTime.Now);
或者
SqlMethods.DateDiffMonth方法
var query= db.表名.Where(d=>SqlMethods.DateDiffMonth(d.AddMonth(-1),d)==1)
参考MSDNhttp://msdn.microsoft.com/zh-tw/library/bb301738.aspx
[解决办法]
引用:
ojlovecd 在吗,这是怎么回事啊

不知道这个错是怎么出来的,你先把那几个linq扩展方法拆开来,看看到底是到哪个出的错。

读书人网 >asp.net

热点推荐