Properties referred by the Principal Role App must be exactly identical to the key of the EntityType

There is an error message as comment in your edmx file:

<!--Errors Found During Generation:
warning 6002: The table/view 'MamDB.dbo.VW_APPSDATA' does not have a primary key
defined. The key has been inferred and the definition was created as a read-only
table/view.
-->

The key that EF has inferred is probably wrong. According to the message you should define a primary key for your view in the database.


A fairly old question, but still relevant today so I thought I'd share my 2 cents. If the re-mapping the relationship between two tables is proving to be more trouble than it's worth (as was my case), you might try deleting the problem tables from the EDMX, saving, then re-adding them to the EDMX again.


Just had the same error in a huge project where basically the Diagram view of the .edmx file is so big you don't even find the concerning table without searching for days.

Here is how I could solve it:

  • Open the .edmx file
  • Open the Model Browser (CTRL+1 / VIEW > Other Windows > Entity Data Model Browser)
  • Find the table from the error message (i.e. VW_APPSDATA) in Entity Types
  • (Maybe right click, show in Diagram)
  • Compare the Entity Type column definitions with your database definition

In my case, I have added a column, which EF thought to be a PK, but it was not. So I have to set the column property Entity Key = False, and that solved it for me .