|
|
Objavljeno naVčeraj ob 20:48
|
|
|

Zahteve: Nekateri podatki omogočajo umazano branje, kot so vsebina člankov, ogledi strani, komentarji itd., kar ni tako strogo kot finančni podatki. Za izboljšanje zmogljivosti poizvedb se lahko uporabljajo transakcije ReadUncommed, vendar imata SqlTransaction in TransactionScope napake na ravni izolacije puščanja, ki še niso bile odpravljene, zato razmislite o uporabi rešitve WITH (NOLOCK).
Pregled:
Ravni izolacije puščanja SqlTransaction in TransactionScope (ta napaka obstaja že 8 let in še vedno ni bila odpravljena!) Ocenjujem, da je veliko ljudi prizadetih, a se tega morda ne zavedajo):Prijava do hiperpovezave je vidna.
Ta članek potrebuje referenco na SqlScriptDOM za razčlenitev SQL stavkov in dodajanje WITH(NOLOCK). Glejte odprtokodni projekt:Prijava do hiperpovezave je vidna.
Nuget navaja takole:
Ustvarite novo AllowDirtyReadAttribute.cs funkcijo, kodajte takole:
Ustvarite nov WithNoLockInterceptor za preglasitev določenih metod v DbCommandInterceptor. Koda je naslednja:
Vbrizgajte v EF Core z naslednjo konfiguracijo:
Uporabite za dodajanje nad metodo kontrolerja[DovoliDirtyRead]Moči.
Raw SQL izjava:
IZBERI [o]. [Id], [o]. [Ime stranke], [o0]. [Id], [o0]. [OrderId], [o0]. [Izdelek] OD [Ukazi] KOT [o] LEVI ZUNANJI SPOJ [OrderLines] AS [o0] ON [o]. [Id] = [o0]. [Naročilo] KJER [o]. [Id] = 1 VRSTNI RED PO [O]. [Id]; Izjava, ustvarjena po dodajanju NOLOCK:
IZBERI [o]. [Id], [o]. [Ime stranke], [o0]. [Id], [o0]. [OrderId], [o0]. [Izdelek] OD [Ukazi] KOT [o] Z (NOLOCK) LEVI ZUNANJI SPOJ [OrderLines] KOT [o0] Z (NOLOCK) ON [o]. [Id] = [o0]. [Naročilo] KJER [o]. [Id] = 1 VRSTNI RED PO [O]. [Id]; |
Prejšnji:(MSSQL) SQL Server iskanje po celotnem besedilu, indeks celotnega besedila
|