0
我使用EF和新的它。我有很多很多我的项目在实体框架中添加多对多对象C#
假设我有3个表
- 类:的ClassID,类名
- 学生:StudentID-姓
- StudentClass:StudentID-的ClassID
如果我想将学生添加到我的班级,是否有必要为每个学生传递所有数据?
事情是这样的:
学生表:
StudentID Name
----------------------------
1 Andrew
2 James
类表:
ClassID Name
----------------------------
1 Math
我的代码:
using (var db = factory.CreateContext())
{
Class a = db.Classes.Where(x => x.ClassID == 1)
// Here if I create a `Student`, will it be stored in many to
// many table only passing `StudentID` ?
a.Students.Add(new Student { StudentID = 1 })
a.Students.Add(new Student { StudentID = 2 })
// or do I need do this?
// a.Students.Add(db.Students.where(x=> x.StudentID == 1))?
}
只是创造了'Class'再增加两个新的'Student'实体的Students'的'名单**足以** - 当你存储这个,EF将制定出新产生的所有细节Id的(如果你有'IDENTITY'列)和设置那些在必要的地方,包括“多对多链接”表 –
另外,请参阅[this](https://stackoverflow.com/documentation/entity-framework/2714/optimize-techniques-in-ef/16628/working-with-stub-entities#t = 201708261958351952897) –