Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3654|Răspunde: 0

[Sursă] Instrucțiunile EF SQL generează automat IS NULL sau IS NOT NULL

[Copiază linkul]
Postat pe 21.06.2023 22:42:18 | | | |
Cerințe: Când EF folosește expresii linq to sql sau lambda pentru a interoga baza de date, instrucțiunile SQL generate de EF ne vor ajuta să adăugăm unele condiții IS NULL sau NOT NULL.

Exemplul 1:

Generează o instrucțiune SQL de acest fel:

ALEGE
    [Extinderea 2]. [StatusUtilizator] CA [UserStatus],
    [Extinderea 1]. [Id] CA [ID]
    DE la [dbo]. [InformațiiEmail] CA [Extinderea 1]
    INNER JOIN [dbo]. [Cont] CA [Extent2] PE ([Extinderea 1].[ Adresă] = [Extensie2]. [Email]) SAU (([Extinderea 1].[ Adresă] ESTE NULĂ) ȘI ([Extinderea 2].[ Email] ESTE NUL))



Exemplul 2:

Generează o instrucțiune SQL de acest fel:

ALEGE
    [Extinderea 1]. [Id] CA [Id],
    [Extinderea 1]. [Nume] CA [Nume],
    [Extinderea 1]. [ParentId] AS [ParentId],
    [Extinderea 1]. [Poziție] CA [Poziție],
    [Extinderea 1]. [_CreateTime] AȘA CUM [_CreateTime],
    [Extinderea 1]. [_UpdateTime] AȘA CUM [_UpdateTime]
    DE la [dbo]. [Clasificare] CA [Extinderea 1]
    UNDE ([Extinderea 1].[ Nume] IN (N'Android', N'Solaris')) ȘI ([Extent1].[ Nume] NU ESTE NUL)



Dacă doriți să evitați generarea acestor condiții NULL suplimentare de EF, puteți consulta următoarele.

Configurează proprietatea DbContextConfiguration.UseDatabaseNullSemantics

Primește sau setează o valoare care indică dacă se afișează semantica nulă a bazei de date atunci când se compară două operanzi și ambele sunt probabil să fie nule. Valoarea implicită este falsă.

Codul este următorul:


De exemplu:
Dacă UseDatabaseNullSemantics este adevărat, atunci (operand1 == operand2) va fi convertit în (operand1 = operand2);
Dacă UseDatabaseNullSemantics este fals, va fi convertit în (((operand1 = operand2) ȘI (NOT (operand1 ESTE NULL SAU operand2 ESTE NULL))) SAU ((operand1 ESTE NUL) ȘI (operand2 ESTE NUL))).

Documentație (Există o eroare în descrierea documentației):Autentificarea cu hyperlink este vizibilă.

câmpul pentru a adăuga atributul [Required]

După ce EF adaugă atributul [Required] la proprietatea obiectului, de fapt nu permite ca atributul (câmpul) să fie NULL în baza de date.După executarea comenzii de migrare, câmpul nu are voie să fie NULLDeoarece câmpul nu are voie să fie NULL în baza de date, EF nu generează în mod natural unele verificări NULL în instrucțiunile SQL generate pentru acel câmp.

Referință:Autentificarea cu hyperlink este vizibilă.






Precedent:ASP.NET opțiuni de configurare Core (douăzeci și unu) reprezintă diferența dintre AddOptions și Configure
Următor:Hook-ul ajax pentru dezvoltarea web interceptează toate cererile XMLHttpRequest
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com