Перерабатывать. 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, "")
Другие вопросы по тегам