Net Core 3.1 Beta — oracle-tech

    Forum Stats

  • 3,708,735 Users
  • 2,241,115 Discussions
  • 7,840,563 Comments

Discussions

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Net Core 3.1 Beta

user606112user606112 Posts: 9
edited July 2020 in ODP.NET

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

Best Answer

  • user606112user606112 Posts: 9
    edited July 2020 Accepted Answer

    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

Answers

  • Alex Keh-OracleAlex Keh-Oracle Posts: 2,720 Employee
    edited July 2020

    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?

  • user606112user606112 Posts: 9
    edited July 2020 Accepted Answer

    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

Sign In or Register to comment.