As I understand your first option you had 3 Entities (A, B, C) and a single link table, but you didn't define any table schemas.
Lets assume each entity has a PK, int identity(1,1) The rest doesn't matter here.
This means each table will have PKs 1,2,3,4,5,.... etc.
The link table will then have columns
Entity-PK int -- Points bask to the entity
Count-Val int -- To maintain the 1-many relationship
Photo_Location
Under this model you can have the situation where the link table has rows
1,1,Path_A11
1,2,Path_A12
1,3,Path_B13
Where Path_A photos are from entity A, and Path_B photos are from entity B.
the query: SELECT E.PK, L.Count_Val, L.Photo_Location from Entity_B E join LinkTable L on E.PK = L.Entity_PK
will return photos from Path_A and Path_B which is wrong, it should only have returned Path_B13 !
You therefore need another column to identify which entity the photo relates to, or some other system such as different identity rangers at the entity level.
Cheers
Leo
Leo
Nothing in life is ever so complicated that with a little work it can't be made more complicated.