如何使用Entity Framework代码优先方法执行SP?

时间:2013-01-21 13:14:09

标签: asp.net-mvc asp.net-mvc-3 entity-framework c#-4.0 entity-framework-4.1

我在互联网上做了一些研究,知道如何使用Entity Framework代码优先方法执行存储过程。但我没有得到任何明确的想法。每个人都在告诉自己执行SP的方式。在一些博客中,他们提到过以下面的方式执行,以及他们以传统的ADO.NET方式提到的其他博客。

DbContext.Database.SqlQuery<ProcedureResult>("sp_TestProcedure @param1, @param2",param1val, param2value);

请告诉我执行SP的适当方法。我正在使用MVC3,实体FW代码优先方法。感谢名单

3 个答案:

答案 0 :(得分:2)

几个星期前我有同样的问题,并用我最后使用的解决方案更新了我的答案。从那以后扩大了使用范围,并且对解决方案的清洁程度感到相对满意。我需要的结果不会映射到我的实体,因此我不直接返回实体的事实对我来说并不是一种损失,但如果这是你的意图,可能会令你烦恼。

见这里:Code-First Entity Framework w/ Stored Procedure returning results from complex Full-text Searches

答案 1 :(得分:2)

从Entity Framework 5开始,代码首先不支持Strored Procedures,我知道人们使用它们的两种最常见的方式是你提到的DbContext.Database.SqlQuery和为存储过程设置.edmx文件,I个人倾向于使用.edmx文件,但那只是我

答案 2 :(得分:-1)

朱莉·勒曼(Julie Lerman)写道: 虽然Entity Framework支持映射到存储过程,但这一点 Code First不支持功能。实体框架 团队不打算在Code First中添加存储过程支持 EF 5.0。他们表示没有明确的计划 这将被添加。

SAFARI的书籍链接 http://my.safaribooksonline.com/book/-/9781449331825