在C#中调用Entity Framework中的存储过程

时间:2017-05-19 07:38:14

标签: c# sql-server entity-framework linq stored-procedures

This is my output looks like...

这是我的后端

Beta_DatabaseEntities db = new Beta_DatabaseEntities();
table2 tb = new table2();

int ID;
string Name;
int Salary;

public void Entry()
{
        ID = Convert.ToInt16(id.Text);
        Name = name.Text;
        Salary = Convert.ToInt32(salary.Text);
}

private void insert_Click(object sender, EventArgs e)
{
        Entry();
        tb.Id = ID;
        tb.Name = Name;
        tb.Salary = Salary;
        db.table1.Add(tb);
        db.SaveChanges();
        db.Database.ExecuteSqlCommand("GradeEntry "+)
}

我的存储过程:

create procedure GradeEntry
     (@ID int, @name nvarchar(50), @salary int)
As
Begin
    if(@salary >= 2500)
    Begin
        insert into Table2 values(@ID, @name, 'A+', @salary)
    End
    else if(@salary >= 1000)
    Begin
        insert into Table2 values(@ID, @name, 'A', @salary)
    End
    else if(@salary >= 500)
    Begin
        insert into Table2 values(@ID, @name, 'B', @salary)
    End
    else
    Begin
        insert into Table2 values(@ID, @name, 'Interni', @salary)
    End
End

我正在使用Entity Framework,但无法弄清楚如何调用在C#中工作的存储过程。我正在使用Visual Studio 2013

我只想使用Entity Framework从C#调用存储过程。

1 个答案:

答案 0 :(得分:0)

您的{ "error": "invalid_token", "error_description": "Invalid Value" }

几乎就在那里

您只需要添加ExecuteSqlCommand,然后传入参数:

EXEC

ExecuteSqlCommand将一个对象数组作为参数。