0
我正在爲Oracle v7.7使用devart dotconnect,並且出現意外錯誤。 我插入一個記錄到表A中,然後另一個記錄到表B中,其中B有一個外鍵給A,並且我得到一個父鍵未找到錯誤。Devart dotconnect - 有沒有辦法強制執行命令?
SsinpatDataContext dc = new SsinpatDataContext();
Document doc = new Document();
doc.Text = "bla bla bla";
var id = dc.ExecuteQuery<decimal>("SELECT DOCUMENT_SEQ.NEXTVAL FROM DUAL");
doc.Id = id.ElementAt(0);
dc.Documents.InsertOnSubmit(doc);
DocumentRows dr = new DocumentRows();
dr.Text = "bla bla bla";
dr.DocId = doc.Id;
dc.DocumentRows.InsertOnSubmit(dr);
dc.SubmitChanges();
,這將引發與文本的異常「ORA-02291:誠信約束違反父鍵未找到」 在我看來,那devart試圖提交DocumentRows第一個對象,然後才Document對象...
現在,我的問題在於我們是否有辦法強制執行提交執行順序。
謝謝。
感謝您的答覆。但是,我沒有設置IdGenerator。在我們從v6.3升級到7.7之前,這工作正常。我會按照你的提示進行記錄,試着更好地理解發生的事情。 –