The member with identity ' ' does not exist in the metadata collection.\r\nParameter name: identity

I had the same error being thrown when I try to insert using EF, the error was

The member with identity 'Id' does not exist in the metadata collection.\r\nParameter name: identity

It wasn't obvious at first but the exception message was very concise because my database knows the column Id int but the property created for the object on my code was int ID so coming back to named mapping, Id is not mapped to ID.

So when an object with property ID is sent to database that only know Id you will get the above error.

I hope this helps, thanks


The issue was reproducing because of a trigger that was on the users table. Removed it and the issue is not reproducing anymore.


There is probably a trigger on the table being updated and it returns output. The output is thrown away but it conflicts with EF. Such output is often used to debug triggers (and forgotten to delete later):

select 'trigger called, i am here'

or there can be missing variable:

select column 

instead of

select @variable=column