MVC 5,EF 6和"数据库中的代码优先"存储过程

6 c# stored-procedures entity-framework asp.net-mvc-5

在搜索答案时,即使使用引号中的"数据库中的代码优先"关键字,我发现答案没有解决具体的术语,所以我只是特别强调"数据库中的代码优先"这个问题. .

在使用Entity Framework 6的ASP.NET MVC 5 Web应用程序中,我希望能够使用"ADO.NET实体数据模型"向导映射到数据库上的现有存储过程.

我为什么要问这个问题,我希望完成什么?

此特定存储过程是参数化查询,其中用户(在视图中)将通过表单提交日期范围并在表中接收该查询的结果.在SQL Server端,很容易:声明两个日期并获取查询结果.

我希望用户从View中"简单地"选择一个日期范围,并查看由存储过程查询提供的紧接在下面的结果.

下面是显示我尝试使用向导映射存储过程的屏幕截图.

1.指定数据库上下文的名称

指定数据库上下文的名称

2.指定"代码优先于数据库"

指定

3.选择数据库连接

选择数据库连接

4.没有可用的存储过程

我还注意到导入存储过程的选项是灰色的.

没有存储过程可用

Nic*_*sta 4

编辑:塔伦提到由于缺乏权限,存储过程没有显示。

实体框架提供 API 来调用存储过程,您甚至可以将存储过程映射到模型。

请参阅此链接: https://msdn.microsoft.com/en-us/data/dn468673.aspx

要将模型绑定到存储过程:

 modelBuilder.Entity<Blog>().MapToStoredProcedures();
Run Code Online (Sandbox Code Playgroud)

如果您对映射存储过程不感兴趣,请参阅这篇文章:

如何在实体框架6中调用存储过程(代码优先)?