Edited with a new situation on the proposal in the comments:
This mapping is currently
public ShowMap() { ToTable("Shows"); HasKey(x => x.ShowID); Property(x => x.ShowID) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .IsRequired() .HasColumnName("ShowID"); } public EpisodeMap() { ToTable("Episodes"); HasKey(x => x.EpisodeID); Property(x => x.EpisodeID) .IsRequired() .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) .HasColumnName("EpisodeID"); Property(x => x.ShowID) .IsRequired() .HasColumnName("ShowID"); Property(x => x.EpisodeNumber) .IsRequired() .HasColumnName("EpisodeNumber"); }
The result is the following database:


However, when the seed method runs, I get this error. Since I cannot debug the value of variables from the Update-Database command line (at least as far as I know), I do not see what the property has.
Verification failed for one or more objects. For more information, see EntityValidationErrors Property.
When I add a link to the display, I get the following error:
During model generation, one or more validation errors were detected:
System.Data.Entity.Edm.EdmAssociationEnd :: multiplicity is not valid in the role "Episode_Show_Source" in relation to "Episode_Show". Since the dependent role refers to key properties, the upper bound on the plurality of the dependent role must be "1".
Relations:
HasRequired(x => x.Show) .WithMany(x => x.Episodes) .HasForeignKey(x => x.EpisodeID);
This is the model:
public class Episode { public int EpisodeID {get; set;} public int ShowID {get; set;} public int EpisodeNumber {get; set;} public virtual Show Show { get; set; } } public class Show { public int ShowID {get; set;} public virtual ICollection<Episode> Episodes { get; set; } }
What have I forgotten that causes validation errors?
Edit: just to be sure I haven't forgotten anything, this is a github project.