请问 Linq 中 如果我要插入一个新的 T_AskAndAnswer记录
我程序代码这样子写 会有错误 原因是t1 t2 s1 s2 都是从数据库表中读出来的 在插入新的组newGroup时 context.SubmitChanges();会要求数据库向T_XETeacher插入t1,t2 ;向T_XEStudent插入s1, s2 由于 主键冲突会导致context.SubmitChanges();失败
T_XETeacher t1 = repository.GetTeacherByName("T1");
T_XETeacher t1 = repository.GetTeacherByName("T2");
T_XEStudent s1 = repository.GetStudentByName("S1");
T_XEStudent s2 = repository.GetStudentByName("S1");
T_AskAndAnswer newGroup = new T_AskAndAnswer();
newGroup.GroupId = 0;
newGroup.GroupName = "Group1";
newGroup.T_XETeachers.Add(t1);
newGroup.T_XETeachers.Add(t2);
newGroup.T_XEStudents.Add(s1);
newGroup.T_XEStudents.Add(s2);
AskAndAnswerTable.InsertOnSubmit(newGroup);
context.SubmitChanges();
数据库表设计如图所示所示
其实context.SubmitChanges()提交更改如果做
T_AskAndAnswer表的插入newGroup 和
T_XETeacher的t1,t2的修改(GroupId字段的修改)
及T_XEStudent的s1,s2的修改(GroupId字段的修改) 那么就能实现我的功能
S1和S2对应的不都是S1吗?是不是自身业务设计考虑有问题,请检视自己的设计。
打错了,改正后 问题依旧
T_XEStudent s1 = repository.GetStudentByName("S1");
T_XEStudent s2 = repository.GetStudentByName("S2");
关注学习。。。