Я работаю с первым подходом к коду с MVC, но что такое Property и haskeyrequired Ключевое слово, используемое при создании базы данных.
Код:
public class StudentDBContext : DbContext
{
public StudentDBContext() : base("StudentDBContext")
{
}
public DbSet<Student> students { get; set; }
public DbSet<Course> course { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//course
modelBuilder.Entity<Course>().HasKey(p => p.CourseId); //Primary Key field in a database
modelBuilder.Entity<Course>().Property(c => c.CourseId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//student
modelBuilder.Entity<Student>().HasKey(b => b.Id); //Student Id
//what is property keyword?
modelBuilder.Entity<Student>().Property(b => b.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//what is hasrequired keyword?
modelBuilder.Entity<Student>().HasRequired(p => p.course).WithMany(b => b.student).HasForeignKey(b => b.CourseId);
base.OnModelCreating(modelBuilder);
}
}
почему используется свойство и ключевое слово hasrequiredсмысл в asp.net MVC?