Our database has an
Attribute table and a
WorkItem table that are in a many to many relationship using a
WorkItemAttribute table. The
WorkItemAttribute table contains the foreign keys for each and a
value column specifying the value of the associated attribute.
I wrote a simple CRUD web api and tests dealing with the
WorkItemAttributes on a per
WorkItemID basis using an ORM provider.
I was then tasked with doing the same for an
EnvelopeAttribute table, which is the same as the
WorkItemAttribute table but has a foreign key to an
Envelope table instead.
I can duplicate everything I wrote for the first ticket, and change all the occurrences of "Envelope" to "WorkItem", but it really bugs me doing so.
Is there any way to refactor the shared logic when all the class names are different, even at the ORM level?