2016-09-30 5 views
0

Ich habe eine Stored Procedure mit verschiedenen Aktionen darin. Für Eg - Einfügen, wählen Sie, aktualisieren Sie alle sind in einer gespeicherten Prozedur und ich führe es mit einer Wenn-sonst-Bedingung.Gespeicherte Prozedur mit Entity Framework

BEGIN 

if(@type = 'add') 
INSERT INTO [dbo].[napme] 
     ([firstname] 
     ,[lastname] 
     ,[Address] 
     ,[City]) 
VALUES 
     (@firstname,@lastname,@Address,@City) 


if(@type = 'select') 
select * from napme 

END 

Jetzt kann ich diese Prozedur in MVC mit Entity Framework verwenden. Wenn das so ist, wie?

Sobald ein solches Verfahren ist die Parameter abbildet, aber ich bin nicht in der Lage zur Karte @type
Kann vorschlagen jemand eine einfache Möglichkeit,

Antwort

0

Sie mögen dieses

var courseList = ctx.Database.SqlQuery<YourEntityName>("exec ProcName @Param1", Param1).ToList<YourEntityName>(); 
+0

'@ Param1' ist nichts als Ihr Parameter, wo Sie Ihren '@ Type' übergeben können – Bharat

0

versuchen Wenn Sie sich mit Code- planen First EntityFramework dann können Sie Operationen einfügen, aktualisieren und löschen auf gespeicherte Prozeduren zuordnen, wenn Sie möchten.

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder 
     .Entity<YourEntityClass>() 
     .MapToStoredProcedures(); 
} 

Mit einem SP Beispiel etwa so:

CREATE PROCEDURE [dbo].[YourEntityClass_Insert] 
    @param1 nvarchar(max), 
    @param2 nvarchar(max) 
AS 
BEGIN 
    INSERT INTO [dbo].[YourEntityClass] ([col1], [col2]) 
    VALUES (@param1, @param2) 

Blick here für weitere Informationen.

Wenn Sie einen SP aus anderen Gründen (nicht CRUD) ausführen möchten, müssen Sie einen SP gemäß Bharats-Antwort ausführen.

Verwandte Themen