Before starting with this article, I expect that you have a basic idea on the Entity Framework - Model First approach and its use.
Here, I am explaining the step by step approach on how to use a newly created stored procedure in our C# code through the EntiFramework. Let's say we have created a new procedure named as '
GetAllPersons', now we can follow the below steps:
(Open EDMX file right click and choose the option 'Update Model from Database...')
Now in this below screen choose save entity connection string in Web.Config as the name given at the time of creation. Then click on NEXT.
Select 'Add' tab and there select the particular stored procedure you want to add to entity model.
Unselect the option 'Pluralize or singularize object names' and click on FINISH button.
Rename the Entity added automatically.
Open the Model Browser now and we can see the 3 things added automatically in entity model like:
StoredProcedure - The procedure we added recently.
Function Import - Function which actually will be called in code by the object of the entity context.
ComplexType - The entity returned by the SP or the Function generated.
ComplexType can be renamed as we want them.
ComplexType name as our feasibility:
Edit the Function Import as per requirement.
Open the function import in EDIT mode.
Rename the function and select appropriate Stored Procedure and
After editing done:
Finish & Run Custom Tool.
Now after all the changes are being made to make the latest change available in code, we have to run the custom tool as mentioned in the below image. This step is to update the classes from the model to avail latest changes made to it in code behind.
For more information on this custom tool and tt files, please refer to the description here.
Get result in code file.
To get the list of all the Persons as returned by the function imported:
Create the object of the Entity context class:
Test_SPEntities objTestSPEntity = new Test_SPEntities();
Call the function and get the result as list of the particular Complex Type:
List<GetAllPersonsEntity> listAllPersons = objTestSPEntity.GetAllPersons().ToList();
Hope this will definitely be of help for the guys who just started with the basics of the Entity Framework.