Я добавил хранимую процедуру в базу данных SQL Server и обновил модель EF6. Я вижу хранимую процедуру в разделе «Импорт функций» браузера модели, но не могу получить к ней доступ в коде для ее вызова.
У нас есть еще одна хранимая процедура, импортированная в модель, и мы вызываем ее следующим образом.
((MyEntities)ctx).SupportTicketsSearch(searchText)
Однако Intellisense не показывает новую хранимую процедуру, когда я пытаюсь сделать то же самое, и если я набираю имя вручную, я получаю ошибку компилятора. Единственное различие, которое я вижу между ними, состоит в том, что другой возвращает строки, а этот нет.
Если я посмотрю в сгенерированном файле контекста .cs, я увижу другую хранимую процедуру в разделе #region Function Imports
, но ее там нет.
Я попытался удалить его как из хранимых процедур, так и из импорта функций, а затем повторно импортировать его, но произошло то же самое - оно появилось в обоих местах в браузере модели, но я не могу получить к нему доступ из кода.
Обратите внимание, что это не похоже на проблему с разрешениями, так как EF импортирует хранимую процедуру и показывает ее в браузере модели. Однако, чтобы перепроверить, я попытался предоставить разрешение на выполнение public
в SQL Server и обновить модель, но это не имело никакого значения.
У кого-нибудь есть идеи, почему хранимая процедура отображается в браузере модели, но не отображается в коде?