How do I correctly set an association between two objects in the Entity Framework 4 Entitydesigner?

Viewed 59179

For a new project I'm trying to create my business classes first and create the real database tables later. Therefore I'm using the Entity Framework 4 Designer. A created a new "ADO.Net Entity Data model" file, with the extension .edmx.

I created two Entities:
alt text

I want to add a 1 to nc relation between Product -> Group. If I'd created the MSSQL database first, I would have added a column IDGroup to the Table Product and referenced Product.IDGroup to Group.IDGroup. As far as I can see, I can't add such association in the designer if I add a new Property called IDGroup to the Product Entity

This is how I add the mapping: alt text

Which results in:
alt text

Now the part what this question is about: If I add two tables from an existing MSSQL database to the edmx file, I'll get the compile error:

Error 3027: No mapping specified for the following EntitySet/AssociationSet - GroupSet, ProductSet

What does that error mean and what must I do to fix this? If I delete those two tables, I'll receive a warning instead:

Error 2062: No mapping specified for instances of the EntitySet and AssociationSet in the EntityContainer myContainer.

Something tells me, I'm doing this all wrong and this is just basic stuff. How can I do it right?

8 Answers

Something that might be easy to miss is to Generate DataBase from model. From what I understand this has to be run after every change made to the Database .edmx.

This simple mistake happened to me and lead to frustration for a few minutes =)

I've had this error when I've deleted an association from the model diagram but the association remains in the underlying XML in the .edmx. They only way I've found to fix that is to hand-edit the edmx to remove references to the offending association.

Related