Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

An exception of type 'System.Data.Entity.Infrastructure.DbUpdateException' occurred in EntityFramework.dll but was not handled in user code

I mapped two tables and created scaffolding in MVC. After filling data in the form when I click on create button, below error occurs.

An exception of type 'System.Data.Entity.Infrastructure.DbUpdateException' occurred in EntityFramework.dll but was not handled in user code

Additional information: A value shared across entities or associations is generated in more than one location. Check that mapping does not split an EntityKey to multiple store-generated columns.

like image 720
Shafi Shaikh Avatar asked Jun 08 '14 07:06

Shafi Shaikh


2 Answers

This issue typically happens when you have a sub-type table mapping, but its primary key is set to auto-generate. this is problematic, since EF will be explicitly setting the value based on the key of the root entity.

if the above is the problem indeed, then to solve it, set the "Identity Specification" of your child table to false. i.e. Remove the StoreGeneratedPattern="identity" from the EDMX.

like image 83
Raja Nadar Avatar answered Sep 30 '22 07:09

Raja Nadar


If cannot see any innerexception message that can help you (during debug), I have found the solution of the "Identity Specification" problem.

In SQL Management Studio (or in Server Explorer in Visual Studio) you have to open the table that causes your problem and select che primary key. Looking at its property you will find the "Identity Specification". You have to set it to "yes".

Source: http://www.technologycrowds.com/2015/07/system-data-entity-infrastructure-DbUpdateException.html

like image 23
silviagreen Avatar answered Sep 30 '22 09:09

silviagreen