一个实体对象不能由多个 IEntityChangeTracker 实例引用
今天,在做項(xiàng)目時(shí),用EF對(duì)主從表進(jìn)行數(shù)據(jù)提交,結(jié)果,程序果斷拋出了一個(gè)Exception。
?一個(gè)實(shí)體對(duì)象不能由多個(gè) IEntityChangeTracker 實(shí)例引用。
當(dāng)初,第一次看到這個(gè)Exception時(shí),其實(shí)我并不知道是個(gè)什么意思,然后谷歌,也沒(méi)有查出什么有用的資料。網(wǎng)上提供的答案,感覺(jué)都不符合我的情況。
于是,我只能自己嘗試著去發(fā)現(xiàn)代碼中的錯(cuò)誤之處了。
本來(lái),我是先添加主表的導(dǎo)航屬性,然后再添加主表,再保存。結(jié)果拋出了一個(gè)實(shí)體對(duì)象不能由多個(gè) IEntityChangeTracker 實(shí)例引用的異常。
然后,我試著調(diào)換位置,先添加主表,然后再添加導(dǎo)航屬性,結(jié)果,系統(tǒng)在運(yùn)行時(shí),拋出了這么一個(gè)異常。
無(wú)法定義這兩個(gè)對(duì)象之間的關(guān)系,因?yàn)樗鼈兏郊拥讲煌?ObjectContext 對(duì)象。
好吧,同樣不知道是個(gè)什么意思。上網(wǎng)搜,同樣也沒(méi)有得到什么有價(jià)值的信息。
最后,經(jīng)過(guò)各種嘗試,終于找出了拋出異常的原因。
其實(shí),就是在添加導(dǎo)航屬性時(shí),添加的對(duì)象對(duì)其他復(fù)雜類(lèi)型有引用關(guān)系。(如,省份表和縣市表,省份表的導(dǎo)航屬性為縣市表,縣市表中有一個(gè)屬性為省份表,那么如果在對(duì)省份表進(jìn)行主從表添加時(shí),縣市表?yè)碛袑?duì)省份表的引用,則會(huì)拋出上述異常。),所以,在對(duì)表進(jìn)行添加時(shí),要注意不能對(duì)其他的復(fù)雜類(lèi)型有引用關(guān)系。
轉(zhuǎn)載于:https://www.cnblogs.com/jobin/archive/2012/08/08/2628626.html
總結(jié)
以上是生活随笔為你收集整理的一个实体对象不能由多个 IEntityChangeTracker 实例引用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java comparable Com
- 下一篇: I am the load of my