Tun*_*Tun 3 linq lambda asp.net-mvc-3
public class content
{
    public int Id { get; set; }
    public string name { get; set; }
    public DateTime date { get; set; }  
}
Id   name       date
1    content1   01/01/2013
2    content2   05/01/2013
3    content3   05/03/2013
4    content4   01/06/2013
5    content5   10/03/2012
6    content6   01/01/2012
我正在尝试,如果查询通过'01/2013',查询应返回内容ID 1,2.有没有人知道如何查询上述情况?
Jon*_*eet 12
看起来你应该能够做到:
// Type and property names changed to match .NET conventions
public IEnumerable<Content> GetContents(int year, int month)
{        
    return db.Contents // Or wherever you're getting data from
             .Where(c => c.Date.Year == year && c.Date.Month == month);
}
我已经拆分year并month作为单独的参数,因为这就是你描述它们的方式 - 如果你真的想要能够处理"01/2013",你可能只想拆分'/'并首先将每个部分解析为整数.(或者,将其解析为特定格式的日期,然后从中获取年份和月份.)
编辑:请注意,将每个值格式化为字符串是没有意义的,并且可能不正确,除非您小心.(例如,除非您明确指定文化,否则如果您/在模式中使用,您将获得当前文化的日期分隔符,这可能不是您所期望的.)
你实际上并没有尝试匹配字符串模式 - 你试图测试日期的年份和月份.这就是上面代码清楚表达的内容.字符串格式是无关紧要的.
| 归档时间: | 
 | 
| 查看次数: | 17187 次 | 
| 最近记录: |