Я написал запрос для отображения заданий, соответствующих определенным критериям на производственной линии. По сути, он показывает незавершенные работы (WIP) для определенного участка производственной линии на моем рабочем месте.
Я использую следующее для выполнения моего запроса:
var CurrentWIPQuery = context.Database.SqlQuery<JobList>(@" .... ");
return CurrentWIPQuery.Count();
«JobList» — это модель, которая содержит номер задания, имя клиента и некоторую информацию о дате завершения определенных этапов. Таким образом, запрос должен возвращать правильные поля для этих свойств в моей модели.
Итак, это возвращает COUNT строк из запроса; количество работ, которые в настоящее время классифицируются как незавершенные. Из-за конфиденциальности информации я не включил фактический SQL-запрос. НО Я могу сказать вам, что он работает нормально. Проблема возникает, когда я пытаюсь параметризовать этот запрос, так как я хотел бы иметь возможность переключать номер производственной линии в запросе с помощью параметра, а не вводить код для другой строки. При использовании параметров запрос ничего не возвращает.
Я делаю это таким образом, потому что запрос довольно длинный и, похоже, не работает хорошо, когда я использую метод полной структуры сущности.
Вот как я создаю параметры. Я пробовал 2 разных способа сделать это, и оба способа терпят неудачу. Способ 1
var CurrentWIPQuery = context.Database.SqlQuery<JobList>(@"
...query here...",new SqlParameter[] { ("@Cell", CellName),("@line, SCHEDULE_GROUP_NAME)});
Метод 2
SqlParameter WIPParam1 = new SqlParameter("@Cell", CellName);
SqlParameter WIPParam2 = new SqlParameter("@line", SCHEDULE_GROUP_NAME);
var CurrentWIPQuery = context.Database.SqlQuery<JobList>(@"
...query here...", WIPParam1, WIPParam2);
Метод 2 не позволяет мне получить:
SqlParameter is already contained by another SqlParameterCollection
ошибка (у меня есть другой запрос в другом месте, который использует те же параметры, и они каким-то образом конфликтуют), но запрос все еще пуст.
Что работает Это работает нормально, когда я жестко запрограммирую номер ячейки и строки в своем sql-запросе, поэтому я застрял в том, почему это не работает, когда я их параметризую.
Спасибо за любую помощь в этом!