我想为课程分配一个现有儿童obj天的列表。但我得到PK问题或重复行。由于Days可以被选中或取消选中,我应该首先删除所有内容,然后最后添加所有内容。
Course()
{
int Id {get;set;}
string Descripcion {get;set;}
List<DayOfWeek> Days {get;set;}
}
DayOfWeek()
{
int Id {get;set;}
string Name {get;set;}
List<Course> Courses {get;set;} //Just for Entity Framework to create the many-to-many relation
}
其他信息
- 代码优先
- 延迟加载
- 已断开连接(存储库/服务器webapi层,UI层)
- 实体和dto对象,例如课程映射到CourseData上的UI,反之亦然。
当我附加一个新对象时,它被设置为ADDED,我需要修复
答案 0 :(得分:0)
我建议在DayOfWeek实体中映射您的外键:
DayOfWeek()
{
int Id {get;set;}
int CourseId {get;set;}
string Name {get;set;}
}
然后你可以这样做:
context.Set<Course>().Add(course);
dayOfWeek.CourseId = course.Id;
context.Set<DayOfWeek>().Attach(dayOfWeek);
context.Entry(dayOfWeek).State = EntityState.Modified;
context.SaveChanges();
如果您映射外键,那么EF的生活会更轻松。