Manually creating EDM Associations (FKs) for the Ingres Tutorial database
The following steps will detail what is required to manually create Associations in your Entity Data Model.
Before commencing the process, you will need to determine where these associations exist and their multiplicity (e.g., one-to-one, one-to-many, etc.). NOTE: These steps will need to be repeated for each association.
1.
The first Association I will deal with is the relationship between
and
, identified by the presence of the Scalar Property
in both entities.
This is a one-to-one relationship, as an entry in a customer order may only be associated with one customer's information.
2.
To add the Association, right-click on the Customer
entity.
Then, click Add -> Association.
3.
You will now see the Add Association dialog.
4.
Hit OK.
The diagram will be refreshed to include the newly created association.
5.
You now need to edit the mappings associated with the newly created association, so right-click the association on the diagram and select Table Mapping to display the Mapping Details pane.
6.
Click the line that reads <Add a Table or View> to reveal a drop down list of all entities.
7.
Here you need to select the entity on the right/far side of the association (the entity where the foreign key exists).
In this example, it is the
entity.
8.
The Mapping Details pane now refreshes to display both ends of the association.
You will now be required to provide relevant target store data types in the Column column for the key fields, as depicted here.
9.
Once the mapping is complete, you can build the project using Build -> Build Solution.
NOTE: It is worthwhile to (re)build as each association is made, since the error messages can be a little confusing.
10.
This should result in the following error, which is included here, since I (the author) found it misleading.
This error indicates that there are two sources — in this case, the
entity's Scalar Property
and the Navigation Property
in — which are being mapped to the same target column — the Ingres column
— which is not supported.
11.
The solution is simple! Delete the mapping for Scalar Property
.
Its only purpose is to hold data representing a relationship/association (it is a Foreign Key), which has already been represented by the newly-created association and resulting Navigation Property
.
Right-click on
.
Then, click Delete.
12.
The model diagram will refresh to reflect this change.
13.
Build the project, again, using Build -> Build Solution.
14.
The project should now build fine.
You will need to repeat these steps for each association until you have a completed Entity Data Model.
Referenced by...