0
我想要做一个如果声明在我的查询内,但我不知道如何。我想执行:如何通过条件加入?
join asoc2 in Personnels
on comp.Secondary_associate equals asoc2.Dpinitials
如果有Second_Person数据可用。任何想法如何做到这一点?让我知道是否有更简单的方法。这是我的完整查询:
(from sc in Data
join comp in Companies
on sc.Company equals comp.Company
join anl in Personnels
on sc.SalesP_initials equals anl.Dpinitials
join asoc1 in Personnels
on comp.First_associate equals asoc1.Dpinitials
join asoc2 in Personnels
on comp.Second_Person equals asoc2.Dpinitials
select new {
MyCompany = sc.Company,
ReleaseDate = sc.Release_date,
WebHeadline = sc.Short_subject,
EmailTo =
anl.Last_name + ", " + anl.First_name + " <" + anl.Email_address.Trim() + ">; "
+
asoc1.Last_name + ", " + asoc1.First_name + " <" + asoc1.Email_address.Trim() + ">; "
+
asoc2.Last_name + ", " + asoc2.First_name + " <" + asoc2.Email_address.Trim() + ">"
}).FirstOrDefault()
现在,它只是显示null,因为* comp.Second_Person *不存在。
你尝试加入'那里comp.Second_Person!= null'毕竟加入之前选择新的? – MarcinJuraszek 2012-02-21 21:21:41
当您避开查询理解语法并改为使用方法链式样时,根据运行时值有条件地组合查询的各个部分和部分将变得微不足道。 – 2012-02-21 21:23:33
@KirkWoll你会提供一些细节吗? – 2012-02-22 03:46:05