BinaryStudio.TaskManager.Logic.Domain.DataBaseContext.OnModelCreating C# (CSharp) Method

OnModelCreating() protected method

protected OnModelCreating ( DbModelBuilder modelBuilder ) : void
modelBuilder DbModelBuilder
return void
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {

            modelBuilder.Entity<Project>()
                              .HasRequired(x => x.Creator) //or HasOptional
                              .WithMany() //Unidirectional
                              .HasForeignKey(x => x.CreatorId) //FK column Name
                              .WillCascadeOnDelete(false);

            modelBuilder.Entity<Invitation>()
                    .HasRequired(e => e.Sender)
                    .WithMany()
                    .HasForeignKey(e => e.SenderId)
                    .WillCascadeOnDelete(false);

            modelBuilder.Entity<Invitation>()
                    .HasRequired(e => e.Receiver)
                    .WithMany()
                    .HasForeignKey(e => e.ReceiverId)
                    .WillCascadeOnDelete(false);


         /*   modelBuilder.Entity<Project>().HasKey(it => it.Id);

            modelBuilder.Entity<Project>().HasMany(it => it.Users).WithMany(it => it.Projects);

            modelBuilder.Entity<Project>().HasRequired(it => it.Creator).WithMany(it => it.CreatedProjects).
                HasForeignKey(it => it.CreatorId).WillCascadeOnDelete(false);
    */
            modelBuilder.Entity<User>().HasMany(x => x.UserProjects).WithMany(x => x.ProjectUsers);
        }
    }
DataBaseContext