【发布时间】:2021-01-06 15:06:50
【问题描述】:
此处表格之后的代码确实在数据库中生成了一个新的动态表格。但是,我不知道如何访问它或如何通过 C# 代码添加指向它的链接。
3NF,三个表。
表格:
public class Student
{
[Key, Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int StudentID { get; set; }
public string StudentName { get; set; }
public DateTime? DateOfBirth { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
public class Course
{
[Key, Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CourseId { get; set; }
[Index("CourseName", 2, IsUnique = true)]
public string CourseName { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
DBContext.cs
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Student>()
.HasMany<Course>(s => s.Courses)
.WithMany(c => c.Students)
.Map(cs =>
{
cs.MapLeftKey("FK_StudentID");
cs.MapRightKey("FK_CourseID");
cs.ToTable("StudentCourse");
});
}
上面的代码,创建一个像这样的表:
StudentCourse
=================================
| FK_StudentID | FK_CourseID |
=================================
编辑:我现在正在研究这个问题, How to define Many-to-Many relationship through Fluent API Entity Framework?
编辑,澄清: 抱歉我的延误:这与时间更相关,例如您已经有学生或单独添加学生。但是,然后想要动态地将它们连接到一个课程或多个课程。同样,您添加新课程。但是,这些可以由学生服用。
【问题讨论】:
标签: c# entity-framework linq