2

我在互联网上做了一些研究,以了解如何使用实体框架代码优先方法执行存储过程。但我没有得到任何明确的想法。每个人都在讲述自己的 SP 执行方式。在一些博客中,他们提到了以以下方式执行,而在其他博客中,他们提到了以传统的 ADO.NET 方式执行。

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

请让我知道执行 SP 的适当方法是什么。我正在使用 MVC3,实体固件代码优先方法。谢谢

4

3 回答 3

2

几周前我有同样的问题,并用我最终使用的解决方案更新了我的答案。此后稍微扩大了使用范围,并且对解决方案的清洁程度相对满意。我需要的结果不会映射到我的实体,所以我没有直接返回实体这一事实对我来说并不是一个损失,但如果这是你的意图,在你的情况下可能会很烦人。

请参阅此处:带有存储过程的代码优先实体框架,从复杂的全文搜索中返回结果

于 2013-01-21T15:45:34.303 回答
2

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

于 2013-01-21T15:56:31.413 回答
-1

引用一本书 Julie Lerman 写道: 虽然实体框架支持映射到存储过程,但 Code First 不支持此功能。实体框架团队不打算在 EF 5.0 中向 Code First 添加存储过程支持。他们表示,没有明确的计划何时添加。

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

于 2013-01-21T14:06:29.510 回答