0
我在嘗試使用相同的objectContext插入數據時遇到了一些麻煩。在同一個對象中插入多條記錄Context
我的問題是,命令該實體讀取我的代碼是不是我「添加」它的順序。
實施例:
EntityAB具有EntityA的PK作爲FK。 1-N關係。
objContext.DbSet.Add(EntityA);
objContext.DbSet.Add(EntityAB);
objContext.SaveChanges();
錯誤消息,當代碼達到SaveChanges()
:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_EntityAB_EntityA". The conflict occurred in database "dbTest", table "dbo.EntityA", column 'IdEntityA'.
The statement has been terminated.
所以,我的實體框架是閱讀objContext.DbSet.Add(EntityAB);
以前objContext.DbSet.Add(EntityA);
如果我改變代碼:
objContext.DbSet.Add(EntityA);
objContext.SaveChanges();
objContext.DbSet.Add(EntityAB);
objContext.SaveChanges();
它的工作原理。
但我不能。由於審計需要在一個SaveChanges()
完成。
我的問題是,
我可否解釋SAVECHANGES()在添加它的順序中閱讀代碼?
我用sim來解決它ilar(這看起來像一個解決方法,我仍然試圖改進它)。我從@drch [在聊天]中獲得了這個想法(http://chat.stackoverflow.com/transcript/message/9043123#9043123) – 2013-04-25 12:31:27