I've been trying to add a Controller in my Project, but I've been getting the error \[code\]An item with the same key has already been added. \[/code\]while doing so. I'm still a beginner at this, so I might have not noticed something, but I don't see any duplicate keys in my model.This is my database's diagram to get the general idea of what I'm trying to do:
I'm using \[code\]Applications\[/code\] as the \[code\]Model Class\[/code\] and \[code\]ApplicationServices\[/code\] as the \[code\]data Context Class\[/code\] while trying to create my \[code\]ApplicationController\[/code\] and getting the error \[code\]An item with the same key has already been added. \[/code\]Any ideas what I might be doing wrong?The models I've created are the following:Entity.cs:\[code\]using Microsoft.VisualBasic;using System.Data.Entity;using System.Data.Entity.ModelConfiguration.Conventions;using System.ComponentModel.DataAnnotations;namespace PostGraduate.Models{ public class ApplicationServices : DbContext { public DbSet<Application.Users> Users { get; set; } public DbSet<Application.Addresses> Addresses { get; set; } public DbSet<Application.Applications> Applications { get; set; } public DbSet<Application.ForeignLanguages> ForeignLanguages { get; set; } public DbSet<Application.Gmat> Gmat { get; set; } public DbSet<Application.PostGradStudies> PostGradStudies { get; set; } public DbSet<Application.PreGradStudies> PreGradStudies { get; set; } public DbSet<Application.Schoolarships> Schoolarships { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Application.Users>().HasKey(a => a.UserId); modelBuilder.Entity<Application.Addresses>().HasKey(a => a.Addresses_Id); modelBuilder.Entity<Application.Applications>().HasKey(a => a.Applications_Id); modelBuilder.Entity<Application.Applications>().Property(a => a.Applications_Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); modelBuilder.Entity<Application.ForeignLanguages>().HasKey(a => a.ForeignLanguages_Id); modelBuilder.Entity<Application.Gmat>().HasKey(a => a.Gmat_Id); modelBuilder.Entity<Application.Gmat>().Property(a => a.Gmat_Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); modelBuilder.Entity<Application.PostGradStudies>().HasKey(a => a.PostGradStudies_Id); modelBuilder.Entity<Application.PostGradStudies>().Property(a => a.PostGradStudies_Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); modelBuilder.Entity<Application.PreGradStudies>().HasKey(a => a.PreGradStudies_Id); modelBuilder.Entity<Application.Schoolarships>().HasKey(a => a.Schoolarships_Id); modelBuilder.Entity<Application.Schoolarships>().Property(a => a.Schoolarships_Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); modelBuilder.Entity<Application.Users>().HasRequired(a => a.Applications).WithRequiredPrincipal(i => i.Users); modelBuilder.Entity<Application.Applications>().HasMany(a => a.Addresses).WithRequired(i => i.Applications).HasForeignKey(i => i.Application_Id); modelBuilder.Entity<Application.Applications>().HasMany(a => a.ForeignLanguages).WithRequired(i => i.Applications).HasForeignKey(i => i.Application_Id); modelBuilder.Entity<Application.Applications>().HasOptional(a => a.Gmat).WithRequired(i => i.Applications); modelBuilder.Entity<Application.Applications>().HasOptional(a => a.PostGradStudies).WithRequired(i => i.Applications); modelBuilder.Entity<Application.Applications>().HasMany(a => a.PreGradStudies).WithRequired(i => i.Applications).HasForeignKey(i => i.Application_Id); modelBuilder.Entity<Application.Applications>().HasOptional(a => a.Schoolarships).WithRequired(i => i.Applications); } }}\[/code\]Applications.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class Applications { public Applications() { this.Addresses = new HashSet<Addresses>(); this.PreGradStudies = new HashSet<PreGradStudies>(); this.ForeignLanguages = new HashSet<ForeignLanguages>(); } internal void BuildAddress(int p) { for (int i = 0; i < p; i++) { Addresses.Add(new Addresses()); } } internal void BuildPreGradStudies (int p) { for (int i = 0; i < p; i++) { PreGradStudies.Add(new PreGradStudies()); } } internal void BuildForeignLanguages(int p) { for (int i = 0; i < p; i++) { ForeignLanguages.Add(new ForeignLanguages()); } } public virtual Users Users { get; set; } public virtual Gmat Gmat { get; set; } public virtual PostGradStudies PostGradStudies { get; set; } public virtual Schoolarships Schoolarships { get; set; } public virtual ICollection<Addresses> Addresses { get; set; } public virtual ICollection<PreGradStudies> PreGradStudies { get; set; } public virtual ICollection<ForeignLanguages> ForeignLanguages { get; set; } [ScaffoldColumn(false)] public string Applications_Id { get; set; } [ScaffoldColumn(false)] public DateTime ApplicationDate { get; set; } [Required] public string FathersName { get; set; } [Required] public DateTime? Birthdate { get; set; } [Required] public string Birthplace { get; set; } [Required] public string Identification { get; set; } [Required] public string Country { get; set; } [Required] public string MobileNumber { get; set; } [Required] public string Profession { get; set; } public string Activity { get; set; } public string PostGradExtra { get; set; } public string PostGradReapplication { get; set; } public string ExtraInformation { get; set; } [Required] public string PostGradSource { get; set; } }}\[/code\]Addresses.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class Addresses { public virtual Applications Applications { get; set; } [ScaffoldColumn(false)] public string Addresses_Id { get; set; } [ScaffoldColumn(false)] public string Application_Id { get; set; } [Required] public string StreetAddress { get; set; } [Required] public string City { get; set; } [Required] public string PostalCode { get; set; } [Required] public string PhoneNumber { get; set; } }}\[/code\]ForeignLanguages.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class ForeignLanguages { public virtual Applications Applications { get; set; } [ScaffoldColumn(false)] public string ForeignLanguages_Id { get; set; } [ScaffoldColumn(false)] public string Application_Id { get; set; } public string Language { get; set; } public string LanguageDegree { get; set; } public string Admission { get; set; } public bool Delete { get; set; } }}\[/code\]Gmat.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class Gmat { public virtual Applications Applications { get; set; } [ScaffoldColumn(false)] public string Gmat_Id { get; set; } public DateTime? GmatDate { get; set; } public string GmatGrade { get; set; } }}\[/code\]PostGradStudies.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class PostGradStudies { public virtual Applications Applications { get; set; } [ScaffoldColumn(false)] public string PostGradStudies_Id { get; set; } public string Aei { get; set; } public string PostGradTitle { get; set; } public string PostGradLength { get; set; } public string PostGradGrade { get; set; } public string PostGradProject { get; set; } public string PostGradProjectGrade { get; set; } }}\[/code\]PreGradStudies.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class PreGradStudies { public virtual Applications Applications { get; set; } [ScaffoldColumn(false)] public string PreGradStudies_Id { get; set; } [ScaffoldColumn(false)] public string Application_Id { get; set; } public string University { get; set; } public string Department { get; set; } public string Admission { get; set; } public string Graduation { get; set; } public string DegreeGrade { get; set; } public string ThesisSubject { get; set; } public string ThesisGrade { get; set; } public bool Delete { get; set; } }}\[/code\]Schoolarships.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class Schoolarships { public virtual Applications Applications { get; set; } [ScaffoldColumn(false)] public string Schoolarships_Id { get; set; } public string Schoolar { get; set; } public string SchoolarshipProfession { get; set; } public string SchoolarshipInstitution { get; set; } }}\[/code\]Users.cs:\[code\]using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Web;namespace PostGraduate.Models.Application{ public class Users { public virtual Applications Applications { get; set; } public string UserId { get; set; } public string UserName { get; set; } }}\[/code\]