Error calling Stored Procedures from EntityFramework

I had this error:

The function import *XXX* cannot be executed because it is not mapped to a store function.

when I check, my stored procedure was deleted from database. I created it again, and it fixed the error.


This post should be a comment but I don't have enough rep to comment.

I was having a similar issue. My stored procedures were visible and yet I was still getting the error. This question and answer from Alex led me to look under Function Imports in the Model Browser and I saw that I had multiple entries for each of the stored procedures. They had sequence numbers to prevent them from being true duplicates. I removed everything under Function Imports and everything under Stored Procedures / Functions and then re-added them by updating the model from the database. My issue is now resolved.


You may want to refer to this blog post: FunctionImport is not mapped to a store function Error, that discusses a similar problem. The cause apparently being:

I had to make changes to a stored procedure and it got deleted from the Entity Data Model Xml file (*.edmx)

With the following step-by-step solution:

There is an easy solution to fix that error. First open your edmx file and right click on the model that owns the stored procedure. Click Add then select “Add Function Import”.

Add the same Function Import name that is used in your Context file (if like me, the method was already created but messed up, otherwise is all new and it will be recreared anyways). Select the Stored Procedure Name that you are trying to fix. Choose the Entities and click OK. A new window might pop up “Verify that the FunctionImport name is unique”.

If that is the case, and you get the “Verify that the FunctionImport name is unique” window popup, do the following: Open your *.edmx file and right click over the model you want to update. Select “Show in Model Browser”. Now the Model Browser window opens up. Go to: {myProject}.DataModel > EntityContainer: {somethingEntities} > Function Imports. The function import causing the problem should be there, just delete it and save the *.edmx file.

Try to add the Function Import again. Voila! no issues this time. Save the *.edmx file and recreate the context file (by making a simple non-invasive change like adding a space to the {myProject}.Context.tt file). make sure the new method:

public virtual ObjectResult<MyEntity> <MyEntity>_NameoftheSP(parametets) is present in your Context file.

Another troubleshooting resource with similar step-by-step instructions (and images!) on updating the edmx file: The function import cannot be executed because it is not mapped to a store function.