存储过程进入Entity Framework模型

时间:2012-11-21 04:25:50

标签: visual-studio-2010 entity-framework stored-procedures

您可以将存储过程添加到实体框架模型(Model.edmx)吗?

我刚刚在Visual Studio 2010中这样做了(除了我的存储过程现在已经离开了Add选项卡并且在Refresh选项卡中)

VS screenshot

我的存储过程是一个简单的SELECT语句,带有1个参数。

VS2010似乎已将其添加到模型中,但我想知道它在哪里以及如何使用它?

我无法在图表中的任何位置或Model.designer.cs

中看到它

3 个答案:

答案 0 :(得分:9)

你在那里分道扬..这是一个隐藏的过程和多步骤。您必须在模型中包含存储过程,方法是在上面显示的菜单中选择它们。

完成后,您想要查看“模型浏览器”

pic of model browser

然后在模型浏览器中找到模型存储(这将包含“表/视图”等文件夹)。右键单击您的存储过程并选择“添加功能导入”。

pic of context menu for function import

完成此操作后,您可以映射您将从SP获得的实体。

pic of function import dialog

然后,您将能够以强类型的方式通过代码中的Context访问您的实体。希望有所帮助。

答案 1 :(得分:1)

从模型图中,右键单击并选择模型浏览器(或菜单中的View/Other Windows/Entity Data Model Browser)。在Model.Store部分中,您应该看到表/视图,存储过程/函数和约束。您的存储过程将在“存储过程/函数”部分中。

检查此链接以获取有关如何在EF中使用存储过程的详细说明:http://msdn.microsoft.com/en-us/data/gg699321.aspx

答案 2 :(得分:1)

以前回答的补充:

如果需要,不是实体而是juste创建复杂类型(可以在模型资源管理器中的复杂类型文件夹中创建它),如果返回的数据对象与数据库表不匹配,则将其与存储过程相关联,例如:

http://img46.imageshack.us/img46/9168/j4ax.jpg