[FIXED] Warum holen oder mit drei booleschen Spalten, die die Daten zufällig holen oder manchmal nicht holen?

Ausgabe

Ich habe einen Tisch

Students

Jetzt haben die Schüler 3 BooleansSchecks

1. IsRecordArchived
2. IsActive
3. IsOnProbation

Sie sind Booleansnicht füreinander relevant und hängen nicht voneinander ab, aber der Datensatz sollte nicht erscheinen oder in der Ergebnismenge enthalten sein, wenn einer davon TRUE.

z.B

A studentkann ich sein, muss sRecordArchived = TRUEaber nicht die anderen beiden sein, dh IsActive= falseund IsOnProbation = falseoder könnte IsActive= Trueund IsOnProbation= falseoder truesogar sein.

Oder es könnte alles gleich sein TRUE. Könnte alles sein, aber letztendlich sollte es nicht in die Aufzeichnung aufgenommen werden.

Nun meine Anfrage

var students= db.Students.where(s=> !IsActive || !IsRecordArchived || !IsOnProbation).ToList();

Würde manchmal funktionieren aber manchmal nicht. Wie passe ich diese an?

z.B

Studnet-Aufzeichnungen

ID  Name  IsArchived  IsDeleted IsOnProbation
1   Tom       1          0           0
2   Dick      1          1           0
3   Harry     0          0           1
4.  Amas      0          0           0

Nun, nach meiner Frage; sollte nur 4. Amasin der Ergebnismenge enthalten sein, nicht die anderen.

Lösung

der Datensatz sollte nicht erscheinen oder in der Ergebnismenge enthalten sein, wenn einer davon TRUE ist.

Implementiert das wirklich diese Logik?

var students= db.Students.where(s=> !IsActive || !IsRecordArchived || IsOnProbation).ToList();

Das wird Aufzeichnungen erhalten, wo entweder IsActiveund IsRecordArchived ist falseoder IsOnProbationist true.

Wenn Sie Datensätze wünschen, bei denen none are true, dh all are false, müssen Sie angeben, dass all are sind falseund ANDOperatoren verwenden:

var students= db.Students.Where(s=> !IsActive && !IsRecordArchived && !IsOnProbation).ToList();


Beantwortet von –
Johannes


Antwort geprüft von –
Senaida (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like