Stored procedure into Entity Framework model

entity-framework stored-procedures visual-studio-2010


Can you add a stored procedure into an Entity Framework model (Model.edmx)?

I just did it in Visual Studio 2010, like this (except my stored procedure is now off the Add tab and is in the Refresh tab)

VS screenshot

My stored procedure is a simple SELECT statement, taking 1 parameter.

VS2010 seems to have added it into the Model, but I wonder where it is and how I can use it?

I can't see it anywhere in the diagram nor in Model.designer.cs

11/21/2012 5:54:58 AM

Accepted Answer

You part the way there. It's a bit of a hidden process and multi-stepped. You have to include the Stored Procedures in your model by selecting them in the menu you have shown above.

Once you have done that you want to view the 'Model Browser'

pic of model browser

Then in the Model Browser, find the Model Store (This will have folders like 'Tables / Views'). Right click on your Stored Procedure and select 'Add Function Import'.

pic of context menu for function import

Once you have done this, you can map the Entities you will get back from your SP.

pic of function import dialog

You will then be able to access your entities via your Context in code, in a strongly typed way. Hope that helps.

11/21/2012 4:46:04 AM

Popular Answer

Complement for previous answer:

If need, not an entity but juste create a complex type (you can create it in complex type folder in model explorer) and associate it to your stored procedure if your returning dataobject doesn't match with a table of your DB, example:

Related Questions


Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow