我有一个 LINQ 查询,我需要在其上使用三元运算符,以便根据某些条件使用某些连接。所以这是我的查询。
var lData = (from r in gServiceContext.CreateQuery("campaignresponse")
join a in gServiceContext.CreateQuery("activityparty") on ((EntityReference)r["activityid"]).Id equals ((EntityReference)a["activityid"]).Id
//tenary statement here
join c in gServiceContext.CreateQuery("contact") on ((EntityReference)a["partyid"]).Id equals c["contactid"]
where ((EntityReference)r["new_distributorid"]).Id.Equals(lProfileProperty.PropertyValue)
select new
{
});
这就是我想做的。
如果 r["new_distributorid"] == 1 我需要使用:
join c in gServiceContext.CreateQuery("contact") on ((EntityReference)a["partyid"]).Id equals c["contactid"]
如果 r["new_distributorid"] == 2 那么我需要使用:
join c in gServiceContext.CreateQuery("account") on ((EntityReference)a["partyid"]).Id equals c["accountid"]
如果 r["new_distributorid"] == 3 那么我需要使用:
join c in gServiceContext.CreateQuery("lead") on ((EntityReference)a["partyid"]).Id equals c["leadid"]
所以基本上是 new_distributor == 1 我需要使用某个连接,如果它是 2 我需要另一个连接,如果它是 3 我需要另一个连接。
这可能吗?如果是,我将如何设置它?
谢谢!