1:一对多配置
student表中ClassId 是 Class表的Id
public class StudentEF
{
public int Id { set; get; }
public string SName { set; get; }
public int ClassId { get; set; }
public virtual ClassEF Class { set; get; }
}
public class ClassEF
{
public int Id { get; set; }
public string ClassName { set; get; }
}
2:多对多的关系配置
public class StudentEF
{
public int Id { set; get; }
public string Sname { set; get; }
public virtual ICollection<TeacherEF> Teas { set; get; } =new List<TeacherEF>();
}
public class TeacherEF
{
public int Id { set; get; }
public string TName { set; get; }
public virtual ICollection<StudentEF> Stus { set; get; } = new List<StudentEF>();
}
public class TeacherConfig:EntityTypeConfiguration<TeacherEF>
{
public TeacherConfig()
{
ToTable("Tb_Teacher");
this.Property(m => m.TName).HasMaxLength(20);
this.HasMany(m => m.Stus).WithMany(m => m.Teas).Map(m => m.ToTable("Tb_Relation").MapLeftKey("Tid").MapRightKey("Sid"));
}
}
--调用
public class HomeController : Controller
{
public ActionResult Index()
{
using (MyContext db=new MyContext())
{
StudentEF s1 = new StudentEF() { Sname = "学生1" };
StudentEF s2 = new StudentEF() { Sname = "学生2" };
TeacherEF t1 = new TeacherEF() { TName = "老师1" };
TeacherEF t2 = new TeacherEF() { TName = "老师2" };
t1.Stus.Add(s1);
t1.Stus.Add(s2);
t2.Stus.Add(s1);
t2.Stus.Add(s2);
db.Teachers.Add(t1);
db.Teachers.Add(t2);
db.SaveChanges();
}
return View();
}
}