您可以将存储过程添加到实体框架模型(Model.edmx
)吗?
我刚刚在Visual Studio 2010中这样做了(除了我的存储过程现在已经离开了Add选项卡并且在Refresh选项卡中)
我的存储过程是一个简单的SELECT
语句,带有1个参数。
VS2010似乎已将其添加到模型中,但我想知道它在哪里以及如何使用它?
我无法在图表中的任何位置或Model.designer.cs
答案 0 :(得分:9)
你在那里分道扬..这是一个隐藏的过程和多步骤。您必须在模型中包含存储过程,方法是在上面显示的菜单中选择它们。
完成后,您想要查看“模型浏览器”
然后在模型浏览器中找到模型存储(这将包含“表/视图”等文件夹)。右键单击您的存储过程并选择“添加功能导入”。
完成此操作后,您可以映射您将从SP获得的实体。
然后,您将能够以强类型的方式通过代码中的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创建复杂类型(可以在模型资源管理器中的复杂类型文件夹中创建它),如果返回的数据对象与数据库表不匹配,则将其与存储过程相关联,例如: