Ich bin durch eine Liste von Unternehmen und erstellen Sie ein anonymen Objekt durch Verwendung der folgenden Linq-Abfrage, um die Daten, die ich haben wollen, abrufen.LINQ anonyme Objekt wählen Sie Eigenschaft, wenn nicht Null
Die Abfrage ist wie folgt:
var customMail = this.db.Companies.Where(c => c.Id == company.Id)
.Select(x => new { x.FromMail, x.FromName, x.Subject, x.EmailBody })
Dieses Objekt korrekt als Liste mit einem Ergebnis gefüllt ist, um die richtigen Daten enthält. Aber manchmal enthält ein Feld eine null
Wie würde man diese Nullwerte herausfiltern?
Ich habe versucht, die folgenden ohne Erfolg:
var customMail = this.db.Companies.Where(c => c.Id == company.Id)
.Select(x => new { x.FromMail, x.FromName, x.Subject, x.EmailBody })
.Select(a => a.GetType().GetProperties()
.Where(pi => pi.GetValue(a) != null)
.Select(pi => pi.GetValue(a)));
Ich würde gerne das Objekt ohne NULL-Werte erhalten und dann ihre Werte innerhalb des Verfahrens verwendet werden.
Warum verwenden Sie Reflexion? Sie können jede Eigenschaft in einem Where überprüfen –
Da es ein anonymer Gegenstand ist, sind die Requisiten nicht verfügbar @EhsanSajjad – Baklap4