|
|
Publisert påI går klokken 20:48
|
|
|

Krav: Noen data tillater grov lesing, som artikkelinnhold, sidevisninger, kommentarer osv., som ikke er like grundig som finansielle data. For å forbedre spørringsytelsen kan ReadUncommitted-transaksjoner brukes, men SqlTransaction og TransactionScope har lekkasjeisolasjonsfeil som ennå ikke er fikset, så vurder å bruke WITH (NOLOCK)-løsningen.
Anmeldelse:
SqlTransaction- og TransactionScope-lekkasjeisolasjonsnivåer (denne feilen har eksistert i 8 år og er fortsatt ikke fikset!) Jeg anslår at mange kan bli berørt, men kanskje ikke er klar over det):Innloggingen med hyperkoblingen er synlig.
Denne artikkelen må referere til SqlScriptDOM for å parse SQL-setninger og legge til WITH(NOLOCK). Se til det åpne kildekode-prosjektet:Innloggingen med hyperkoblingen er synlig.
Nuget-sitater som følger:
Lag en ny AllowDirtyReadAttribute.cs-funksjon, kode som følger:
Opprett en ny WithNoLockInterceptor for å overstyre visse metoder i DbCommandInterceptor. Koden er som følger:
Injiser i EF Core med følgende konfigurasjon:
Bruk det for å legge det til over kontroller-metoden[TillatDirtyRead]Boks.
Rå SQL-setning:
VELG [o]. [Id], [o]. [KundeNavn], [o0]. [Id], [o0]. [OrderId], [o0]. [Produkt] FRA [Ordre] SOM [o] VENSTRE YTRE SAMLING [Ordrelinjer] AS [o0] PÅ [o]. [Id] = [o0]. [OrderId] HVOR [o]. [ID] = 1 BESTILLING ETTER [o]. [Id]; Setning generert etter å ha lagt til NOLOCK:
VELG [o]. [Id], [o]. [KundeNavn], [o0]. [Id], [o0]. [OrderId], [o0]. [Produkt] FRA [Ordre] SOM [o] MED (NOLOCK) VENSTRE YTRE SAMLING [Ordrelinjer] SOM [O0] MED (NOLOCK) PÅ [o]. [Id] = [o0]. [OrderId] HVOR [o]. [ID] = 1 BESTILLING ETTER [o]. [Id]; |
Foregående:(MSSQL) SQL Server fulltekstsøk, fulltekstindeks
|