Core data: Managing employee contracts in a many-to-many relationship?

820 views Asked by At

I am mapping an idea for a relationship using Core Data.

I have an Employer entity who has a many-to-many relationship with Employees. Basically, an employee can work for multiple employers, and an employer can have multiple employees.

The problem I'm facing is, I'm not sure how to manage the contracts between employees and employers.

As an employee can work for either 1 or many employers, they would naturally have a contract for each employer they work for (complete with salary, duration) and a list of dates when they are working for a specific employer.

My question is - how to manage the relationships between Contracts, ContractDates with Employers and Employees?

Thank you.

Image follows.

contract entity relationship

2

There are 2 answers

1
Matthias Bauch On BEST ANSWER

in the real world you have a contract between an employer and an employee. So why not do the same in core data? enter image description here

2
Sjoerd On

Use a junction table.

That is, the contracts table refers both to Employers and Employees, linking them together. It also contains information on contracts. This way, the contract applies to the relation between employer and employee, which is exactly what you want.