Entity Framework issue on SaveChnages() of context

Recently while working with entity framework I faced this issue while updating the value of one of the tables in entity framework while I am allowed to use a select query on the same table,

Issue:

Unable to update the EntitySet ‘TableName’ because it has a DefiningQuery and no <UpdateFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.

Reason:

After going through some of the resources I got to know there are different reasons because which you might face this problem those are listed below,

- An entity set is mapped from the database view

- Database table doesn’t have a primary key

The table doesn’t have the primary key treated as a view during the entity framework. The entity framework uses a class to define table/views and properties are used to refer to table/view columns. As we know insert and update are not allowed with only select is allowed.

Solution:

1) Define the primary key for your table which will start considering it as a table instead of view as mentioned earlier but for some cases, you might already have a primary key for your table then you should follow another solution.

2) Make the changes in edmx file manually,

- Locate edmx file in the project

- Right-click on edmx file -> Open with -> XML editor

- Search DefiningQuery tag in your file -> Remove that tag entirely

- Change store: Schema=” Database name” to Schema=” Database name”

- Save the changes of edmx file.

After doing this you are allowed to insert or update the value in a table using EF.

Thank You, See you in the next article !!

--

--

Technical Speaker | Computer Engineer | Full Stack Web Developer | ML Enthusiast | * Knowledge Shared = Knowledge² *

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vaibhav Bhapkar

Technical Speaker | Computer Engineer | Full Stack Web Developer | ML Enthusiast | * Knowledge Shared = Knowledge² *