2 Replies Latest reply on Jul 8, 2020 5:31 PM by user606112

    Net Core 3.1 Beta

    user606112

      If you are going to store a Master-Entry with Detail-Entries by saving the context I got this error:

      Innere Ausnahme 1:

      OracleException: ORA-02291: Integritäts-Constraint (HR.FK_OrderDetails_Orders_OrderID) verletzt - übergeordneter Schlüssel nicht gefunden

      ORA-06512: in Zeile 13

      I suppose, that the Detail-Entry is stored before the Master-Entry is.  With EF6 same code works fine.

      Model.JPG

        • 1. Re: Net Core 3.1 Beta
          Alex Keh - Product Manager-Oracle

          Did the error also occur with Oracle EF Core 2.x or is this the first time you've ported an Oracle app to EF Core?

          • 2. Re: Net Core 3.1 Beta
            user606112

            Hi Alex, I never used Net Core before. I startet with Core 3.1 Beta. I'm sorry, but I found the mistake. I changed my Code using the reference of the navigation column instead of foreignkey column as you can see below. Now it works pretty good.

            new version:

                                if (viewOrderDetails.IsAddingNew & orderdetail.Order == null)

                                {   // Neuanlage Bestellposition

                                    context.OrderDetails.Add(orderdetail);

                                    orderdetail.Order = order;

                                } // if

            old version:

                                if (viewOrderDetails.IsAddingNew & orderdetail.OrderID == 0)

                                {   // Neuanlage Bestellposition

                                    context.OrderDetails.Add(orderdetail);

                                    orderdetail.OrderID = order.OrderID;

                                } // if

            Unfortunatly the old version works without error using EF6. I dont know why? The foreignkey of the detail entry gets a zero value from the primary key of the new master entry. And by saving the context the primary key get's a none-zero value from a sequence, so that the error occurs.

            With kind regards! Günter Hoormann