Есть метод в контроллере, который фильтрует содержимое.
[HttpPost]
public ActionResult Search (string[] jsonString)
{
IQueryable <UploadedFile> res = Context.UploadedFiles;
if (!string.IsNullOrEmpty(jsonString[0]))
{
res = res.Where(x => x.FileTitle.Contains(jsonString[0]));
}
return View("UploadFilesView", res.ToList());
}
В метод прилетает json строка, далее фильтруется и отдается во View. В коде выше метод возвращается 500 (Internal Server Error).
Если заменить строку
res = res.Where(x => x.FileTitle.Contains(jsonString[0]));
на
var buffer = jsonString[0];
res = res.Where(x => x.FileTitle.Contains(buffer));
то все работает. Подскажите, почему так?
На приведенном Вами скриншоте есть сообщение об ошибке, гласящее о том, что обращение по индексу не поддерживается в Linq to Entity. Связано это, думаю с тем, что ExpressionBuilder не знает, как перевести его в язык СУБД, которую Вы используете (да, важно не только то, что Вы используете EF, но и то, какой провайдер).
Таким образом, для решения проблемы Вам необходимо поместить нужную Вам строку в локальную переменную.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Столкнулся с такой проблемойНа форме несколько вкладок в TabControl
Есть строкаВ этой строке есть ключевое слово, допустим, "switch"
Подскажите пожалуйста, как в XAML C# использовать таблицу в памяти без базы данных, сохранять из таблицы DataGrid данные в файл (допустим вtxt) и загружать...
Программа на C# запросит сделать сервер несколько задач, которые могут занять приличное времяЗадача будет поделена на этапы и когда сервер...