Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So fügen Sie den Identitätswert in Oracle mithilfe von Entity Framework mithilfe einer Sequenz ein

Dies ist kein EF-Problem, da es in Oracle kein automatisches Inkrement gibt. Sie müssen den Sequenzwert entweder manuell abrufen oder einen Auslöser um es für Sie einzustellen.

Aktualisieren

Um den Sequenzwert zu erhalten, haben Sie zwei Möglichkeiten:Erstellen Sie entweder eine gespeicherte Prozedur, die den Wert zurückgibt, oder erstellen Sie eine .Net-Funktion (muss nicht wirklich in einer Funktion enthalten sein, ist nur einfacher), die wie folgt rohes SQL aufruft :

Database.SqlQuery<int>("SELECT SEQ_SOMESEQ.NEXTVAL FROM dual");

Ich persönlich hatte viele Probleme mit Oracle-Funktionen und EF, also würde ich mich für das rohe SQL entscheiden.