在C#中从实体框架调用存储过程 [英] Calling stored procedure from Entity Framework in C#
本文介绍了在C#中从实体框架调用存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的后端
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
I am working with Entity Framework but can't figure out how to call the stored procedure working in C#. I am using Visual Studio 2013
我只想使用Entity Framework从C#调用存储过程.
I just want to call the stored procedure from C# using Entity Framework.
推荐答案
ExecuteSqlCommand
您只需要添加EXEC
,然后传入参数:
You just need to add EXEC
, then pass in the parameters:
db.Database.ExecuteSqlCommand("EXEC GradeEntry @ID, @name, @salary",
new SqlParameter("@ID", ID),
new SqlParameter("@name", Name),
new SqlParameter("@salary", Salary),
)
ExecuteSqlCommand 采用数组对象,作为参数.
ExecuteSqlCommand takes an array of object, as parameters.
这篇关于在C#中从实体框架调用存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文