У меня есть класс с заголовком. У меня есть свойство, которое возвращает этот заголовок, немного скорректированный. Если я выполняю запросы Linq to Sql от скорректированного свойства title, я получаю исключение «не поддерживается». Если я делаю то же самое, свойство делает непосредственно в запросе linq, оно работает. Любые идеи о том, как я могу заставить собственность работать в Linq to Sql?
Вот свойство
public string SeoName
{
get { return Name.ToLower().Replace(" ", "").Replace("&", "and"); }
}
Вот запрос, который не работает (что я хотел бы сделать).
var series = from s in videoRepo.GetShows()
where s.Topic.SeoName.Equals(topicSeoName)
select s;
Вот запрос, который делает то же самое и работает
var series = from s in videoRepo.GetShows()
where s.Topic.Name.ToLower().Replace(" ", "")
.Replace("&", "and").Equals(topicSeoName)
select s;
Как мне структурировать свойство top для работы с первым запросом linq?
МОЙ ФИНАЛЬНЫЙ ОТВЕТ
Добавлено выражение для оценки того, что я искал
public static Expression<Func<Show, bool>>
TopicSeoNameEquals(string name)
{
return t => t.Topic.Name.ToLower().
Replace(" ", "").Replace("&", "").Equals(name);
}
Тогда я просто назвал это немного по-другому в запросе linq
var test = Show.TopicSeoNameEquals(topicSeoName);
var series = from s in videoRepo.GetShows().Where(test)
select s;