Greetings! In order to avoid a many-to-many association, I created an intermediate entity that has no attributes but is associated with two entities. One company can be in many regions and a region can have many companies. A company in a region can perform one or more services. The problem is when I try to create a dataview to add a new service. There seems to be no way to allow me to add a service and select the company/region combo that provides the service. Is there a better way to do this? Should I denormalize and add the companyid and region name to the companyregion entity? That seems no better than just having a many-to-many with Company and Region and then just creating one to many for each with the Service entity.
I think your domain model is wrong. I would just create a many to many reference between company and region and delete the CompanyRegion entity all together. Because a company can belong to multiple regions if that company has many offices. And a region can offcourse hold multiple companies.
And attach services directly to the company because it is the companies that provide the services. With an XPath you can then still display all the services in a region over the company associations.