Я использую devart dotconnect для Oracle v7.7 и получаю непредвиденную ошибку. Я вставляю запись в таблицу 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. Я буду следовать вашему намеку на регистрацию, чтобы лучше понять, что происходит. –