Ajay_Saini Ответов: 1

Проблема передачи данных в поле зрения, если я использую хранимую процедуру в MVC 3 с Razor


Привет,
Я создаю небольшое приложение, в MVC3 с бритвой. Я использую логику Database first с помощью entity framework (. edmx). Я использую хранимую процедуру для каждой задачи с помощью "Add Function Import..."

Теперь у меня есть процедура выбора записи студента perticuler, и это работает отлично, но когда я хочу передать ее в соответствующее представление, которое сильно типизировано с помощью шаблона Edit scaffold, то я обнаружил следующую ошибку :

Элемент модели, передаваемый в словарь, имеет тип ' System. Data. Objects.ObjectResult`1 [StudentAlumni.Models. student]', но для этого словаря требуется элемент модели типа ' StudentAlumni.Модели.студент'.

следующий код написан в моем методе ActionResult :
public ActionResult Edit(int id)
       {
           var st = db.proc_SelectAlumniStudent(id);
           if (st == null)
               return RedirectToAction("Index");
           else
               return View(st);
       }

Моя модель имеет тип: @model StudentAlumni.Модели.студент


Та же проблема возникает и при использовании обработчика Delete, мой вопрос заключается в том, как передать значения типа модели, если я использую хранимую процедуру и получаю результат в одной переменной (st в моем случае) и передаю его в View?
Пожалуйста, помогите мне.
Спасибо

1 Ответов

Рейтинг:
2

Jameel VM

Сначала вам нужно изменить свой код, как показано ниже

var st = db.proc_SelectAlumniStudent(id).ToList();


а затем измените свою модель возврата на IEnumerable
@model IEnumerable<studentalumni.models.student>


Надеюсь, это поможет