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
Run Code Online (Sandbox Code Playgroud)
我正在尝试,如果查询通过'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);
}
Run Code Online (Sandbox Code Playgroud)
我已经拆分year并month作为单独的参数,因为这就是你描述它们的方式 - 如果你真的想要能够处理"01/2013",你可能只想拆分'/'并首先将每个部分解析为整数.(或者,将其解析为特定格式的日期,然后从中获取年份和月份.)
编辑:请注意,将每个值格式化为字符串是没有意义的,并且可能不正确,除非您小心.(例如,除非您明确指定文化,否则如果您/在模式中使用,您将获得当前文化的日期分隔符,这可能不是您所期望的.)
你实际上并没有尝试匹配字符串模式 - 你试图测试日期的年份和月份.这就是上面代码清楚表达的内容.字符串格式是无关紧要的.
| 归档时间: |
|
| 查看次数: |
17187 次 |
| 最近记录: |