ahmed_sa Ответов: 1

Как вставить данные с помощью существующего сохраненного procure MVC


Я работаю в visual studio 2015 mvc 5 entityframework 6 код сначала из существующей базы данных

Мне нужно вставить данные на основе существующей хранимой процедуры, но я не знаю, как это сделать

что не так в приведенном ниже коде

step 1

USE [EmployeeSystem]
GO
/****** Object: StoredProcedure [dbo].[spAddDepartment] Script Date: 13/02/2018 12:32:38 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[spAddDepartment]
@DepartmentName nvarchar(50)
as 
Begin 
Insert into Departments values(@DepartmentName,1) 
End


step2

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Department>().MapToStoredProcedures
(
s => s.Insert(i => i.HasName("spAddDepartment"))
);
base.OnModelCreating(modelBuilder);

}


Шаг 3

public ActionResult Insert(Department depart)
{
// return View();
hr.Departments.Add(depart);
hr.SaveChanges();
return View(depart);
}


Что я уже пробовал:

How to insert data using existing stored procure mvc

Richard Deeming

Какую ошибку вы получаете?

Вы сравнивали свой код с документация[^]?

1 Ответов

Рейтинг:
0

Ehsan Sajjad

Существует метод SqlQuery, доступный в entity Framework для вызова хранимых процедур или выполнения инструкций sql.

Пожалуйста, взгляните на следующее:
https://stackoverflow.com/q/20901419


ahmed_sa

Хорошо но вот так выше когда я его использую
onmodelcreating

Ehsan Sajjad

Вам нужно вызвать его там, где вы действительно хотите вызвать хранимую процедуру, в настоящее время находящуюся в действии вашего контроллера