У меня есть этот код, который я использую для выбора предложения Where
для приложения.
Для случая CVM.IncludeHidden
Мне не нужно ограничивать строки и хочу получить все.Но я не уверен, как это сделать.Если это так, что я должен поставить для предложения where
?
var select = " SELECT" +
" P.PhraseId, P.PhraseNum, P.English, P.Romaji, P.Kana, P.Kanji, P.Modified, P.WordType, P.Favorite," +
" P.Hidden, P.Viewed, P.Points, P.Score," +
" FROM Phrase" +
" WHERE P.Selected = 1 ";
List<Phrase> ps = db2.Query<Phrase>(select).ToList();
List<Phrase> psNoa = ps.Where(x => x.Points < noa).ToList();
Func<Phrase, bool> whereClause;
switch (Settings.cvm)
{
case CVM.IncludeHidden:
// I don't want to do any limiting
// here I just want all records
whereClause = ??
break;
case CVM.ExcludeHidden:
whereClause = x => x.Hidden == false;
break;
case CVM.Hidden:
whereClause = x => x.Hidden == true;
break;
case CVM.Favorites:
whereClause = x => x.Favorite == true;
break;
default:
return null;
}
return new SelectedPhrases()
{
ps = ps.Where(whereClause).ToList(),
psNoa = psNoa.Where(whereClause).ToList()
};
public class SelectedPhrases
{
public List<Phrase> ps { get; set; }
public List<Phrase> psNoa { get; set; }
}