Похоже, вы должны быть в состоянии сделать:
// 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», вы, вероятно, захотите просто разделить на '/'
и сначала разобрать каждую часть в виде целых чисел. (В качестве альтернативы, проанализируйте его как дату в определенном формате, а затем возьмите год и месяц с этого.)
EDIT: Обратите внимание, что форматирование каждого значения в виде строки бессмысленно и потенциально некорректно, если вы не будете осторожны. (Например, если вы не указали культуру явно, если вы используете /
в шаблоне, вы получите разделитель дат текущей культуры, который, возможно, не так, как вы ожидаете.)
Вы на самом деле не пытаетесь сопоставить шаблон строки - вы пытаетесь проверить год и месяц даты. Это то, что ясно выражает код выше. Форматирование строк является неуместным.
Это Linq2SQL, Linq2Objects, Linq2Entities? - подробнее, пожалуйста! ;-) –