我正在循环访问公司列表,并通过使用以下linq查询来检索我想要的数据来创建一个匿名对象。LINQ匿名对象选择属性如果不为空
查询是如下:
var customMail = this.db.Companies.Where(c => c.Id == company.Id)
.Select(x => new { x.FromMail, x.FromName, x.Subject, x.EmailBody })
这个目的是正确地填充作为一个列表与包含正确的细节一个结果。但有时一个字段包含一个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)));
我很想得到的对象,而空值,然后在方法中使用它的值。
你为什么使用反射?你可以检查每个属性在哪里 –
由于它是一个匿名对象,道具不可用@EhsanSajjad – Baklap4