У меня есть расширение строки C #, которое действительно облегчает жизнь, но я получаю исключение:
Method 'System.String ToUrlString(System.String)' has no supported translation to SQL.
Я видел это как распространенную проблему, и некоторые люди нашли способы обойти этоэто для их метода, но я не уверен, что это возможно для моего.Это просто короткий путь, и я попытался использовать его и с регулярным выражением, и возникает то же исключение.
public static string ToUrlString(this String val)
{
return val.Trim().ToLower().Replace(" ", "-").Replace(":", string.Empty);
}
Существуют ли дополнительные декораторы или способы, которыми я могу адаптировать этот код, чтобы он мог поддерживать SQL?Я вызываю это в предложении where в моих выражениях LINQ..ToTagString()
не совсем тот же метод, что и .ToUrlString()
, но он очень похож.
РЕДАКТИРОВАТЬ : В соответствии с предложением ниже, я попробовал кое-что еще, но я все еще получаюта же ошибка.
public IEnumerable<Post> GetPostsByTag(string tagName)
{
var query = from p in db.Posts
join pt in db.PostTags on p.PostID equals pt.PostID
where pt.Tag.TagName.ToTagString().Equals( tagName.ToTagString() )
orderby p.PostDate descending
select p;
var result = query.AsEnumerable();
return from r in result
select r;
}