如何在c#中获得月份明智的记录?

时间:2013-03-26 09:41:13

标签: c# linq-to-sql

我的表就像这样。

name       date          phonenumber
venky      25-06-2013     123123123
vasud      27-06-2013     2423727384
sdfds      14-06-2013     12312332132

如果用户想查看6月份的记录,那么他将06作为输入参数传递如何将linq写入sql查询以获取6月月记录作为输出..

1 个答案:

答案 0 :(得分:4)

听起来你只想要这样的东西:

public IQueryable<Record> GetRecordsForMonth(int month)
{
    return new RecordContext().Where(record => record.Date.Month == month);
}

假设数据库中的date字段实际上是一个合适的datetime字段或类似的字段。如果不是,那么修复您的架构。

或者,对于某个范围内的日期,您可以在方法中取两个DateTime值并按此方式过滤:

public IQueryable<Record> GetRecordsForMonth(DateTime minDateInclusive.
                                             DateTime maxDateExclusive)
{
    return new RecordContext().Where(record => record.Date >= minDateInclusive
                                            && record.Date < maxDateExclusive);
}