Hier habe ich eine Linq-Abfrage mit einer Spalte für die Mitarbeiterdauer. Wie kann ich "-" entfernen, wenn StartDate
oder EndDate
null ist. Ich möchte "-" nur, wenn beide nicht null sind.
var query = from r in db.Employee
select new
{
Name = r.Name,
EmployeeDuration = r.StartDate +" - "+ r.EndDate
}
Sie könnten einen Bedingungsoperator verwenden.
var query = from r in db.Employee
select new
{
Name = r.Name,
EmployeeDuration = r.StartDate != null && r.EndDate != null
? r.StartDate + " - " + r.EndDate
: r.StartDate ?? r.EndDate
}
Ausgabe
When nothing is null = 18.01.2017 18:00 - 18.01.2017 19:00
When StartDate is null = 18.01.2017 19:00
When EndDate is null = 18.01.2017 18:00
Oder ein anderer Ansatz wäre dieser.
var query = from r in db.Employee
select new
{
Name = r.Name,
EmployeeDuration =
(r.StartDate ?? "?") +
" - " +
(r.EndDate ?? "?")
}
Ausgabe
When nothing is null = 18.01.2017 18:00 - 18.01.2017 19:00
When StartDate is null = ? - 18.01.2017 19:00
When EndDate is null = 18.01.2017 18:00 - ?
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen