Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 3654|Atsakyti: 0

[Šaltinis] EF SQL sakiniai automatiškai generuoja IS NULL arba IS NOT NULL

[Kopijuoti nuorodą]
Paskelbta 2023-06-21 22:42:18 | | | |
Reikalavimai: Kai EF naudoja linq sql arba lambda išraiškas duomenų bazės užklausai, EF sugeneruoti SQL sakiniai padės mums pridėti kai kurias IS NULL arba NOT NULL sąlygas.

1 pavyzdys:

Jis sugeneruoja tokį SQL sakinį:

ŽYMĖTI
    [2 apimtis]. [Vartotojo būsena] AS [UserStatus],
    [Apimtis1]. [id] AS [id]
    IŠ [dbo]. [El. pašto informacija] AS [1 apimtis]
    VIDINIS SUJUNGIMAS [dbo]. [Paskyra] AS [Extent2] ON ([Extent1].[ Adresas] = [2 apimtis]. [El. paštas]) ARBA (([Apimtis1].[ Adresas] YRA NULL) IR ([Extent2].[ El. paštas] YRA NULINIS))



2 pavyzdys:

Jis sugeneruoja tokį SQL sakinį:

ŽYMĖTI
    [Apimtis1]. [id] AS [id],
    [Apimtis1]. [Vardas] AS [pavadinimas],
    [Apimtis1]. [ParentId] AS [ParentId],
    [Apimtis1]. [Pareigos] AS [Pozicija],
    [Apimtis1]. [_CreateTime] AS [_CreateTime],
    [Apimtis1]. [_UpdateTime] AS [_UpdateTime]
    IŠ [dbo]. [Klasifikacija] AS [1 apimtis]
    WHERE ([Apimtis1].[ pavadinimas] IN (N'Android', N'Solaris')) IR ([Extent1].[ Pavadinimas] NĖRA NULINIS)



Jei norite, kad EF negeneruotų šių papildomų NULL sąlygų, galite peržiūrėti šiuos dalykus.

Ypatybės DbContextConfiguration.UseDatabaseNullSemantics konfigūravimas

Gauna arba nustato reikšmę, nurodančią, ar lyginant du operandus rodyti duomenų bazės nulinę semantiką, ir jie abu gali būti neapibrėžti. Numatytoji reikšmė yra klaidinga.

Kodas yra toks:


Pavyzdžiui:
Jei UseDatabaseNullSemantics yra teisinga, tada (operand1 == operand2) bus konvertuota į (operand1 = operand2);
Jei UseDatabaseNullSemantics yra klaidinga, ji bus konvertuota į (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) arba ((operand1 IS NULL) AND (operand2 IS NULL))).

Dokumentai (Dokumentacijos aprašyme yra klaida):Hipersaito prisijungimas matomas.

, kad pridėtumėte atributą [Būtina]

Kai EF prideda atributą [Required] prie objekto ypatybės, jis iš tikrųjų neleidžia atributo (lauko) būti NULL duomenų bazėje.Įvykdžius perkėlimo komandą, laukas negali būti NULLKadangi laukas duomenų bazėje negali būti NULL, EF natūraliai negeneruoja kai kurių NULL tikrinimų SQL sakiniuose, sugeneruotuose tam laukui.

Nuoroda:Hipersaito prisijungimas matomas.






Ankstesnis:ASP.NET Core (dvidešimt viena) konfigūracijos parinktys yra skirtumas tarp AddOptions ir Configure
Kitą:Ajax-kabliukas žiniatinklio kūrimui perima visas XMLHttpRequest užklausas
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com