Я пытаюсь найти способ создания предложения where и передать его методу Get() репозитория. Он должен фильтровать элементы, имя которых начинается с определенной буквы. Я смог построить часть этого тела Where Where, но не могу найти способ обработки сценария, когда имя элемента не начинается с буквы. Например: _ItemName
или 97_SomeName
.Build where clause body
Итак, вот мой метод:
protected override Expression<Func<DataSetSettings, bool>> GetWhereClause()
{
//The user has selected FilterLetter, for example: "A"
// return all items which name starts with "A"
if (!string.IsNullOrWhiteSpace(FilterLetter) && !FilterLetter.Equals("All"))
return (x => x.Name.StartsWith(FilterLetter) && x.Type == Type);
if (FilterLetter.Equals("Other"))
{
//Here i need to extract all items which name does not start with letter
}
//return All items of the current type
return x => x.Type == Type;
}
Я был бы признателен за любую помощь! Благодаря!
Вы используете Linq для SQL или Entity Framework или это для коллекций памяти? – jwatts1980
Я использую Entity Framework. – vortex
Вы попробовали что-то первое и получили сообщение об ошибке? Я не думаю, что у Entity есть эквивалент «StartsWith». – jwatts1980