Die Verwendung Ternärer Operator innerhalb von Lambda-Ausdruck

Hier ist mein code:

var now = DateTime.Now;
var firstOfMonth = new DateTime(now.Year, now.Month, 1, 0, 0, 1);

var objectsAfterFirstOfThisMonth= _context.DataObjects
    .Where(x => x.dateClosed == null ? x.dateClosed : x.dateCreated > firstOfMonth);

Bekomme ich die folgende Kompilierungsfehler:

Es gibt keine implizite Konvertierung zwischen " System.Nullable' und 'bool'

Ich verstehe nicht, die lambda-syntax genug, um zu verstehen, dieser Fehler.

Wenn ich nicht in der Lage bin diese zu verwenden, ternären syntax, dann werde ich die erforderlich sind, um die vollständige Liste der DataObjects aus der Datenbank, dann Durchlaufen Sie diese Liste, erstellen Sie die gefilterte Liste (die Objekte mit Daten, die später als der erste des aktuellen Monats), wie ich gehen.

Mein Ziel, in einem Punkt ist dieser: ich will alle Objekte, die aufgetreten nach dem ersten dieses Monats. dateCreated Feld niemals null. dateClosed ist manchmal null. dateClosed genauer ist und ich vergleichen möchten an diesem Tag so viel wie möglich, aber Sie müssen zurückgreifen auf dateCreated im Falle dateClosed null ist.

Bitte lassen Sie mich wissen, wenn ich Bedarf an mehr Informationen.

Vielen Dank im Voraus!

  • Der compiler ist eindeutig dir zu sagen, was falsch ist.
InformationsquelleAutor Brian | 2014-09-18
Schreibe einen Kommentar