Перерабатывать. Int64 или int.Parse не распознается LINQ To Entities
Я пытаюсь получить данные о диапазоне между двумя строками.
у меня есть список строк, которые имеют такие данные
Пример:
K123456,
H123456,
J123456,
T122123,
Таким образом, первая строка строкового объекта содержит алфавит.
var StartLabwareid = int.Parse(obj.LWbStartId.Replace(labIni,""));
var EndtLabwareid = int.Parse(obj.LWbEndId.Replace(labIni, ""));
var LabWId = (from ai in _entities.Ai
join result in _entities.Re on ai.Id equals re.Id
where (Convert.ToInt32(ai.Id.Replace(Ini,"")) <= Startid ||
Convert.ToInt32(ai.Id.Replace(Ini, "")) >= Endtid)
select new MViewModel
{
ID = re.Id,
}).ToList();
Или я могу использовать что-то еще, чтобы сравнить со строкой и получить данные между ними, как мы делаем в диапазоне дат St rating и Ending Date
1 ответ
Вы не можете использовать функции C#, такие как Convert
в Линк к сущностям. Вместо этого вы можете сделать сравнение после материализации результата или использовать SqlFunctions
, С SqlFunctions
, вы должны получить свой результат, комбинируя функции Stuff и CharIndex. Измените строку ниже в соответствии со своими потребностями, поскольку вы не предоставляете весь код.
SqlFunctions.Stuff(ai.Id, SqlFunctions.CharIndex(ai.Id, "replaceable"), 3, "")