sql >> Database >  >> RDS >> Oracle

Hoe een identiteitswaarde in Oracle in te voegen met behulp van Entity Framework met behulp van een reeks

Dit is geen EF-probleem, omdat er geen automatische verhoging is in oracle. U moet de reekswaarde handmatig ophalen of een trigger om het voor u in te stellen.

Bijwerken

Om de reekswaarde te krijgen, heb je twee opties - ofwel een opgeslagen procedure maken, die de waarde retourneert - of een .Net-functie maken (hoeft niet echt in een functie te zijn, het is gewoon eenvoudiger) die onbewerkte SQL op deze manier aanroept :

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

Ik had persoonlijk veel problemen met Oracle-functies en EF, dus ik zou voor de onbewerkte sql gaan.



  1. Verward over de volgorde van logische queryverwerking van Itzik Ben-Gan in zijn SQL Server 2005-boek en SQL Server 2008-boek

  2. Hoe veel rijen samen te voegen met dezelfde id in sql?

  3. Stel alleen een unieke beperking in als een veld null is

  4. Door komma's gescheiden tekenreeks ontleden om IN Lijst met tekenreeksen in de Where-component te maken