首页 新闻 会员 周边

Linq to sql插入有关系的多个实体

0
悬赏园豆:5 [已解决问题] 解决于 2019-09-12 15:55

1.目前有一个学生的表(student),里面有一个字段(studentID)作为主键,每次都是递增1,还有另一个表(Course),里面有个关联student表主键的字段(studentID);
2.现在要使用linq to sql插入student表一条记录,然后用该条记录的studentID插入Course表,为了保证数据的完整性我想最后使用SubmitChanges提交一次,但是这样的话每次插入Course表的studentID为0,请问各位大神有何办法???谢谢

侯小北的主页 侯小北 | 初学一级 | 园豆:39
提问于:2019-09-12 13:47
< >
分享
最佳答案
0

studentID是数据库生成的吧,没有submit也就是说 studentID没有生成。你需要分开submit两次

收获园豆:5
通信的搞程序 | 小虾三级 |园豆:1747 | 2019-09-12 15:19

那要是submit student表之后再submit Course,要是后边这个失败了那没办法回滚前边这个,这个怎么搞

侯小北 | 园豆:39 (初学一级) | 2019-09-12 15:21

@侯小北: linq to sql其实没用过,从通用原理来说是这样。用事务保证吧。

通信的搞程序 | 园豆:1747 (小虾三级) | 2019-09-12 15:23

@通信的搞程序: 事务也需要先提交了才能获取到已经插入的studentID,两个同事提交也获取不到吧???

侯小北 | 园豆:39 (初学一级) | 2019-09-12 15:28

@侯小北: 每次SubmitChanges就会去实际数据库操作,你用事务将两个SubmitChanges包裹在里面,然后在提交事务不就行了。

通信的搞程序 | 园豆:1747 (小虾三级) | 2019-09-12 15:32

@通信的搞程序: 对对对,明白啦,谢谢

侯小北 | 园豆:39 (初学一级) | 2019-09-12 15:55
其他回答(1)
0

兄弟。用EF吧。 linq to sql 这东西。没人用了。而且有很多你意想不到的问题。

cc1027cc | 园豆:242 (菜鸟二级) | 2019-09-12 14:17

兄弟啊,这是一个老系统,已经是这个框架啦,再该框架可能就不合适了,有没有什么解决办法啊??

支持(0) 反对(0) 侯小北 | 园豆:39 (初学一级) | 2019-09-12 14:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册