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

17,497

Solution 1

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.

Solution 2

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.

Solution 3

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 .

Share:
17,497
Elad Benda
Author by

Elad Benda

linkedin

Updated on June 05, 2022

Comments

  • Elad Benda
    Elad Benda almost 2 years

    I'm using EF DB first.

    I have made a view.

    Mapped it to EF.

    Now I get the following error:

    Error 2 Error 111: Properties referred by the Principal Role App must be exactly identical to the key of the EntityType MaMDBModel.App referred to by the Principal Role in the relationship constraint for Relationship MaMDBModel.FK_AppsData_App. Make sure all the key properties are specified in the Principal Role. D:\MaM\Dev\MamAdmin_1.0\MaMDBEntityFramework\MaMModel.edmx 768 11 MaMDBEntityFramework

    this is my edmx:

    http://ge.tt/3rRWTOR/v/0?c

  • MikeSmithDev
    MikeSmithDev over 11 years
  • satendra singh
    satendra singh about 9 years
    I got this error after I modified a view and EF made the column a key.
  • Etienne
    Etienne almost 4 years
    That did it for me. I had one table originally in the edmx, added a second one in the DB and created the relationship in SQL then got this error after updating/adding new table to model. Thx