私は、会社の一覧をループして、次のlinqクエリを使用して欲しいデータを取得して匿名オブジェクトを作成しています。LINQ匿名オブジェクトでない場合には、プロパティを選択します。
クエリは、次のとおりです。
var customMail = this.db.Companies.Where(c => c.Id == company.Id)
.Select(x => new { x.FromMail, x.FromName, x.Subject, x.EmailBody })
このオブジェクトは正しい詳細を含む1つの結果でリストとして正しく満たされています。しかし時にはフィールドには次のものが含まれていますnull
どのようにしてそれらのヌル値を除外しますか?私は成功せず、次の試してみた
:
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)));
私はnull値なしでオブジェクトを取得して、メソッド内でその値を使用してみたいです。
なぜ反射を使用していますか?あなたはどこの各プロパティをチェックすることができます –
それは匿名のオブジェクトだから、小道具は利用できません@EhsanSajjad – Baklap4