Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 41452|Antwoord: 1

[Bron] EF Core Series (5) voert SQL-instructies of views uit, opgeslagen procedures

[Link kopiëren]
Geplaatst op 19-02-2021 14:00:14 | | | |
EF Core Series 2 bevat OnModelCreating, maakt indexen met behulp van reflecties, en meer
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) Entity Frame Schaduwattributen [Herdruk]
https://www.itsvse.com/thread-9558-1-1.html

EF Core Series 4 kijkt naar de gegenereerde SQL-instructies
https://www.itsvse.com/thread-9564-1-1.html
Met Entity Framework Core kun je overschakelen naar de originele SQL-query wanneer je een relationele database gebruikt. Wanneer de vereiste query niet in LINQ kan worden weergegeven, kan de ruwe SQL-query worden gebruikt. Je kunt ook ruwe SQL-queries gebruiken als het gebruik van LINQ-queries inefficiënte SQL-queries veroorzaakt. De ruwe SQL-query kan een generiek entiteitstype of een sleutelloos entiteitstype in het model teruggeven.

Samenvatting: Het uitvoeren van SQL-statements en opgeslagen procedures met Entity Framework (EF).

Entity Framework (EF) voert SQL-instructies en opgeslagen procedures uit
https://www.itsvse.com/thread-9517-1-1.html
Voer SQL-instructiequeries, updates en verwijderingen uit, en roep opgeslagen procedures en weergaven aan met de volgende methoden:

  • FromSqlRaw
  • FromSqlInterpolated
  • ExecuteSqlRaw
  • ExecuteSqlInterpolated



FromSqlRaw en FromSqlInterpolated worden voornamelijk gebruikt voor query-operaties
ExecuteSqlRaw en ExecuteSqlInterpolated voeren toevoeg-, bijwerk- en verwijderingsoperaties uit op de database en geven het aantal getroffen rijen terug


Het einde is een geïnterpoleerd trefwoord, dat meestal een parametertoevoeging, verwijdering, wijziging en controle is, en een manier om SQL-injectie-aanvallen te weerstaan met behulp van stringinterpolatiesyntaxis. Bijvoorbeeld:

Voer een SQL-instructie uit, de queryvoorwaarden worden niet door splicing gehaald, zoals weergegeven in de onderstaande figuur:

C# Parameterized Parameters gebruikt sp_executesql om SQL-instructies uit te voeren
https://www.itsvse.com/thread-3111-1-1.html




Er zijn een paar beperkingen waar je rekening mee moet houden bij het gebruik van native SQL-queries:

SQL-queries moeten gegevens teruggeven voor alle attributen van het entiteitstype.
De kolomnamen in de resultaatset moeten overeenkomen met de kolomnamen waaraan de attributen zijn toegewezen. Let op dat dit gedrag verschilt van EF6. De attribuut/kolommappingrelatie van de oorspronkelijke SQL-query wordt genegeerd in EF6, en de kolomnamen van de resultaatset moeten overeenkomen met de attribuutnamen.
SQL-queries kunnen geen bijbehorende gegevens bevatten. In veel gevallen kun je echter direct na de query de Include-methode gebruiken om gecorreleerde gegevens terug te geven (zie Include Associative Data).


(Einde)




Vorig:EF Core Series 4 kijkt naar de gegenereerde SQL-instructies
Volgend:Fiddler vervangt links, vraagt doorstuur-redirects aan
 Huisbaas| Geplaatst op 14-06-2023 21:15:53 |
EF 6 voert native SQL-instructies en parameterinjectieproblemen uit
https://www.itsvse.com/thread-10610-1-1.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com