Added navigation collection property Tag.TimerHistoryItems. Previously I only had TimerHistoryItem.Tags as a navigation collection property, but this caused EF to add a TimerHistoryItem_Id column to the Tags table, rather than create an interim (many-to-many) table. Added the navigation collection property going the other way fixed this.