Oracle
 sql >> Database >  >> RDS >> Oracle

Come inserire il valore di identità in Oracle utilizzando Entity Framework utilizzando una sequenza

Questo non è un problema di EF, in quanto non vi è alcun incremento automatico in Oracle. Dovrai ottenere il valore della sequenza manualmente o creare un trigger per impostarlo per te.

Aggiorna

Per ottenere il valore della sequenza hai due opzioni - creare una procedura memorizzata, che restituisce il valore - o creare una funzione .Net (non deve davvero essere in una funzione, è solo più semplice) che chiama SQL grezzo in questo modo :

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

Personalmente ho avuto molti problemi con le funzioni di Oracle e EF, quindi sceglierei il raw sql.