Ich verwende System.Linq.Dynamic für ein Projekt, bei dem der Benutzer auswählen muss, welche Eigenschaften zur Laufzeit ausgewählt / projiziert werden sollen.
Ich habe also eine Frage wie diese:
var query = db.Users.Select("New(UserId, Username, Groups.Max(DateInserted) AS DateInserted)");
Die Spalte DateInserted ist nicht null, aber nicht alle Benutzer haben Gruppen. Wenn ein Benutzer ohne Gruppen zurückgegeben wird, wird folgende Fehlermeldung angezeigt:
"The cast to value type 'DateTime' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type."
Kann ich in der Abfrage etwas tun? Ich kann die Spalte nicht nullbar machen.
Vielen Dank für jede Hilfe.
In nullbaren Typ konvertieren DateTime? wie var query = db.Users.Select("New(UserId, Username, DateTime?(Groups.Max(DateInserted)) AS DateInserted)");
: var query = db.Users.Select("New(UserId, Username, DateTime?(Groups.Max(DateInserted)) AS DateInserted)");