sql >> Databasteknik >  >> RDS >> Oracle

Hur man infogar identitetsvärde i Oracle med hjälp av Entity Framework med hjälp av en sekvens

Detta är inte ett EF-problem, eftersom det inte finns någon automatisk ökning i oracle. Du måste antingen hämta sekvensvärdet manuellt eller skapa en utlösare för att ställa in den åt dig.

Uppdatera

För att få sekvensvärdet har du två alternativ - antingen skapa en lagrad procedur, som returnerar värdet - eller skapa en .Net-funktion (behöver egentligen inte finnas i en funktion, det är bara enklare) som anropar rå SQL som denna :

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

Jag hade personligen många problem med oracle-funktioner och EF, så jag skulle välja den råa sql.



  1. SQLite IN

  2. Batchinlaga med tabell som har många kolumner med hjälp av Anorm

  3. MySqlConversionException vid åtkomst till DateTime-fältet från DataReader

  4. Hitta avståndet mellan två punkter med hjälp av latitud och longitud i mysql