bjacobs wrote:
Why wouldn't you name it based on the name of the field that the relation is created from?
So instead of Events, name them EventsByContact and EventsBySpeaker. That seems more logical and would eliminate this error and any confusion.
You can do that, just set the correct pattern for the field in the project properties (which are inherited from the preferences when a project is created).
This only happens in cases where people don't adjust the patterns AND have multiple relationships to the same entity from different subtypes. You can use macros to refer to startentity fields and endentityfields. See the description of the particular pattern or the manual (has the same description).
It is extremely confusing when you are looking at the Entities and then have to go back and forth between SQL Server Management Studio to look at the fields and relations and rename several of these yourself.
You don't have to go to sqlserver management studio, as you can see which relation a field is mapped on in the project explorer and also in the entity editor. The relation is then expandable to see the fields of the relation.
The main gripe with solving this on our part is that it's impossible to automatically fix it. The thing is this:
say you have 4 entities, A, B, C and D. A and C have a relation with D, and a field is mapped onto that relation, called "Ds" in both. As they're not in the same hierarchy, no problem. Then you make C a subtype of B. Still no problem. Then you make B a subtype of A -> conflict. But... what to do? Which "Ds" should be renamed? A's ? Or C's ?
So the patterns in the preferences (and project properties, please set the preferences ones before a new project and in existing projects, set the properties as well, as they only inherit when the project is created).
You can link relations and fields-mapped onto them together in the project explorer and in the entity editor. I.o.w.: you don't have to go to any db management tool to get that info.