[问题] EF的SaveChanges()同时要异动两个Table

楼主: rexhuang (BlueCancer)   2018-07-18 23:42:31
像是订单成立要同时写入Order和OrderDetail两个资料表
原本打算用一个ViewModel,ViewModel有Order和OrderDetail所有字段
但Add时会遇到CS1503无法转换的错误
https://1drv.ms/u/s!AmQ3SaTA10NQihej-6jnefSpgRdc
谢谢
作者: wezmag (wezmag)   2018-07-18 23:56:00
要先把ViewModel转成entity,才能Add呀,你可以看一下Add可接受的型别
作者: name2name2 (yang~hi)   2018-07-19 15:26:00
转型概念可以参考这几篇继承 https://goo.gl/qaW5Tg转型和类型转换 https://goo.gl/tjEhGjas (C# 参考) https://goo.gl/PBkZjX
作者: reichs   2018-07-19 20:58:00
当然不行.Add只能吃CustomerM的型别,丢CustomerViewModel进去一定会丢错误出来我会new一个CustomerM的型别出来,然后一个一个属性的从ViewModel搬到CustomerM上面.然后Add传入CustomerM的型别的变量.
作者: forever84721 (Jay)   2018-07-20 08:02:00
没记错的话 分开add可以 savechanges会是一个交易不用写成一个add
作者: mraaa (重新出发....)   2018-07-20 11:54:00
Order & OrderDetail没有做关联吗?要不然我怎么记得EF会自动帮你Insert到两个Table?为什么要自己分开Add?
楼主: rexhuang (BlueCancer)   2018-07-20 22:23:00
两个table没做关联,我加关联再试看看真的很感谢大家热心的回答^^

Links booklink

Contact Us: admin [ a t ] ucptt.com