Извиняюсь, если это плохо сформулировано. Я пытаюсь создать поисковую модель на основе списка строк, используя linq. В каждой строке есть выборка идентификаторов из разных таблиц, и в строке, которую я пытаюсь отфильтровать, основываясь на них. Строка - это то, что вызывает у меня путаницу, так как мне нужно разделить строку, используя _, но от конца строки назад, так как у меня больше контроля с конца строки, чем с начала, так как начало строки 'Name' может содержат много _
Структура строк:
Name_specific_SiteID_CountryID_PageID_DeviceID_PageName
Linq и модель поиска
var result = (from a in context.Searchstrings
where a.Name.Contains("_specific_")
select a).ToList().AsQueryable();
if (searchModel != null)
{
if (searchModel.SiteId.HasValue)
result = result.Where(p => p.Name.Split('_').Count() - 5 == searchModel.SiteId);
Неопределенный пример - Точка расщепления Строка должна использовать раскрывающиеся списки с идентификатором, совпадающим с позицией в строке - поэтому для SiteID я пытаюсь разделить его и сопоставить searchModel.SiteId с SiteID из раскрывающегося списка в позиции независимо от _specific_ {SiteID } _ остаток строки