У меня есть следующий код в моем проекте Services, который пытается получить список постов на основе тега ... точно так же, как у нас в SO (без создания этого вопроса meta.stackoverflow.com со всем уважением ....)
Этот сервисный код создает запрос linq, передает его в хранилище и затем возвращает результат. Ничего сложного. Мой метод LINQ filter не работает со следующей ошибкой: -
Метод 'Boolean
Contains (System.String) 'не имеет
поддерживается перевод на SQL.
Я не уверен, как мне изменить метод фильтра linq :( Вот код ...
public IPagedList<Post> GetPosts(string tag, int index, int pageSize)
{
var query = _postRepository.GetPosts()
.WithMostRecent();
if (!string.IsNullOrEmpty(tag))
{
query = from q in query
.WithTag(tag) // <--- HERE'S THE FILTER
select q;
}
return query.ToPagedListOrNull(index, pageSize);
}
и метод Filter ...
public static IQueryable<Post> WithTag(this IQueryable<Post> query,
string tag)
{
// 'TagList' (property) is an IList<string>
return from p in query
where p.TagList.Contains(tag)
select p;
}
Есть идеи? Я в растерянности: (