脚手架使用ADO.Net在模型中调用SQL存储过程

时间:2015-01-10 18:58:54

标签: c# sql-server entity-framework asp.net-mvc-5

我是ASP.NET新手(使用MVC5 EF 6.1.1),刚开发了一个新的原型,可以在应用程序中使用。我目前正在我的控制器中调用我的存储过程,并被要求在我的应用程序上线之前使用Database First方法重新设计。我被推荐以下教程:

http://www.asp.net/mvc/overview/getting-started/database-first-development/creating-the-web-application

如果您在实体数据模型向导中选择数据库中的一个或多个表(脚手架工作正常),这将非常有用。但是,我需要选择一个存储过程而不是一个表,脚手架不能工作。我相信我需要在我的Model文件夹中创建一个部分类,以某种方式调用我的存储过程及其参数(即var result = dbContext.Procedurename(values1,value2))但我还没有找到一个合适的例子,在这个阶段被封锁了一个多月。有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

查找SqlQueryExecuteSqlCommand

context.Database.SqlQuery<Entity>("spName @param1, @param2, @param3");
context.Database.ExecuteSqlCommand("spName @param1, @param1,@param1");

更好的解决方案: 使用向导使用ADO.Net Entity Framework创建数据模型,同时选择表,还添加存储过程。

adding Stored Procedure using EF

执行此操作将允许我们使用上下文对象在控制器中执行存储过程。

ContosoUniversityEntities context=new ContosoUniversityEntities();
context.mysp();

For your consideration: calling SP in EF