Asp.net mvc asp.net MVC中的属性和HasRequired关键字是什么?
我正在使用MVC的代码优先方法,但在生成数据库时使用的属性和haskeyrequired关键字是什么 代码:Asp.net mvc asp.net MVC中的属性和HasRequired关键字是什么?,asp.net-mvc,entity-framework,foreign-keys,Asp.net Mvc,Entity Framework,Foreign Keys,我正在使用MVC的代码优先方法,但在生成数据库时使用的属性和haskeyrequired关键字是什么 代码: 公共类StudentDBContext:DbContext { public StudentDBContext():base(“StudentDBContext”) { } 公共数据库集学生{get;set;} 公共数据库集课程{get;set;} 模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder) { //课程 modelBuilder.Entity(
公共类StudentDBContext:DbContext
{
public StudentDBContext():base(“StudentDBContext”)
{
}
公共数据库集学生{get;set;}
公共数据库集课程{get;set;}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
//课程
modelBuilder.Entity().HasKey(p=>p.CourseId);//数据库中的主键字段
modelBuilder.Entity().Property(c=>c.CourseId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//学生
modelBuilder.Entity().HasKey(b=>b.Id);//学生Id
//什么是属性关键字?
modelBuilder.Entity().Property(b=>b.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//什么是必需的关键字?
modelBuilder.Entity().HasRequired(p=>p.course)。WithMany(b=>b.student)。HasForeignKey(b=>b.CourseId);
基于模型创建(modelBuilder);
}
}
为什么在asp.net MVC中使用该属性并具有必需的关键字含义?有关详细信息,请参阅。您还可以阅读其中的内容和方法。属性用于引用属性,而hasrequired用于对该属性强制执行必需的规则。参见此处。我指的是这个链接,它是fluent api。什么是fluentapi?你能给我在上面的模型类中使用什么样的fluent api提供建议吗?@rahulpatil在开始使用EF6之前,请阅读文档,希望能有所帮助
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);
}
}