2014-09-29 42 views
0

我想在兩個表中創建一個LINQ中的左連接,但其中一個表需要一個恆定值的連接。左加入linq與多個列和常量值

在普通的SQL查詢是

select 
    cf.idCreditForm ,q3.FacturadaenSAP 
from 
    Panacredit.dbo.pet_CreditForm cf 
left join 
    Panacredit.dbo.cat_customentity_crediqcr3 q3 on cf.idCreditForm = q3.IdEntityItem 
               and q3.IdType = 7 
where 
    cf.opStatus = 6 
    and cf.idSubStatus = 72 

,到目前爲止,我的LINQ代碼

solicitudes = 
    from sol in ElContexto.pet_CreditForms 
    join cq3 in ElContexto.cat_customentity_crediqcr3s 
    on new { sol.idCreditForm, 7 } = new { cq3.IdEntityItem , cq3.IdType } 
    into solicCq3 
    where sol.approvedDate >= iniDateJul 
     && sol.approvedDate <= endDateJul 
     && sol.opStatus == 6 
     && sol.idCompany == idcompany 
     && sol.idSubStatus == subEst 
     && sol.idBranch == idbranch 
    from scq3 in solicCq3.DefaultIfEmpty() 
    select new { sol.idCreditForm , cq3.FacturadaenSAP }; 

請幫我

+1

感謝分享,但您需要真正提出問題。你目前的代碼有什麼問題?請儘可能詳細和詳細。 – tnw 2014-09-29 16:18:32

+1

你爲什麼要加入一個常量值而不是先用'where'子句/調用過濾它? – 2014-09-29 16:20:23

回答

0

q3.IdType = 7部分對加入無關。將其移至where子句。