Use the following steps to solve this issue:
- You need to Import the stored procedure as a Function. Right-click on the workspace area of your Entity model and choose
Add -> Function Import
. - In the Add Function Import dialog, enter the name you want your stored procedure to be referred to in your model for example
Search_Products
, choose your procedure from the drop down list, and choose the return value of the procedure to beEntities
and chooseProducts
from the drop down list. -
Then in the code behind:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM);//Search_Products is the name that you specified in Function Import dialog MyGridView.DataSource = result; MyGridView.DataBind();
The reason that you get -1
for result is that Entity Framework cannot support Stored Procedure Return values out of the box. I think support of stored procedure return values depends on version of Entity framework. Also Entity Framework doesn’t have rich stored procedure support because its an ORM, not a SQL replacement.