1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public class SchoolDBContext: DbContext { public DbSet<Student> Students { get; set; } public DbSet<Course> Courses { get; set; } public DbSet<StudentCourse> StudentCourses { get; set; } public DbSet<StudentAddress> StudentAddress { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder builder) { }
protected override void OnModelCreating(ModelBuilder builder) { builder.Entity<Student>().Property(s => s.Id).HasColumnName("Id").HasDefaultValue(0).IsRequired();
builder.Entity<Student>().HasIndex(x => x.Name);
builder.Entity<Student>().HasData(new Student { Id = "0", Name = "小明", });
builder.Entity<Student>().HasOne<Grade>(s => s.Grade).WithMany(g => g.Students).HasForeignKey(s => s.GradeId);
builder.Entity<Student>().HasOne<StudentAddress>(s => s.Address).WithOne(ad => ad.Student).HasForeignKey<StudentAddress>(ad => ad.StudentId);
builder.Entity<StudentCourse>().HasOne<Student>(sc => sc.Student).WithMany(s => s.StudentCourses).HasForeignKey(sc => sc.StudentId); builder.Entity<StudentCourse>().HasOne<Course>(sc => sc.Course).WithMany(s => s.StudentCourses).HasForeignKey(sc => sc.CourseId); } }
|