var list = (from dr in dt_project.AsEnumerable() join d1 in list_businessclass on dr.Field("BusinessClass") equals d1.ID into temp0 from tp0 in temp0.DefaultIfEmpty() join d2 in list_dic_ppmodle on dr.Field ("SanctionPPMode") equals d2.ID into temp1 from tp1 in temp1.DefaultIfEmpty() join d3 in list_dic_ppmodle on dr.Field ("RealPPMode") equals d3.ID into temp2 from tp2 in temp2.DefaultIfEmpty() select new { ProjectID = dr.Field ("ProjectID"), ResponsibleUnit = dr.Field ("ResponsibleUnit"), OwnerUnitName = dr.Field ("OwnerUnitName"),//, ProjectName = dr.Field ("ProjectName"), BusinessClass = dr.Field ("BusinessClass"), BusinessClassText = (tp0 == null ? "" : tp0.Title), //设立 EstablishedTime = dr.Field ("EstablishedTime") == null ? "" : Convert.ToDateTime(dr.Field ("EstablishedTime")).ToString("yyyy-MM-dd"),//立项时间 EstablishReplyCode = dr.Field ("EstablishReplyCode"),//立项批复文号 EstablishReplyCodeAttach = dr.Field ("EstablishReplyCodeAttach"),//立项批复文号附件 //可研 FeasibilityStudyReplyTime = dr.Field ("FeasibilityStudyReplyTime") == null ? "" : Convert.ToDateTime(dr.Field ("FeasibilityStudyReplyTime")).ToString("yyyy-MM-dd"),//可研批复时间 FeasibilityStudyReplyCode = dr.Field ("FeasibilityStudyReplyCode"),//可研批复文号 FeasibilityStudyReplyCodeAttach = dr.Field ("FeasibilityStudyReplyCodeAttach"),//可研批复文号附件 //概算 ApproximateReplyTime = dr.Field ("ApproximateReplyTime") == null ? "" : Convert.ToDateTime(dr.Field ("ApproximateReplyTime")).ToString("yyyy-MM-dd"),//概算批复时间 ApproximateReplyCode = dr.Field ("ApproximateReplyCode"),//概算批准文号 ApproximateReplyCodeAttach = dr.Field ("ApproximateReplyCodeAttach"),//概算批准文号附件 ApproximateExamApprovalMoney = dr.Field ("ApproximateExamApprovalMoney") ?? 0,//概算审批金额 //招投标项目信息核准招标方式表 ApprovedInviteBidModeTime = dr.Field ("ApprovedInviteBidModeTime") == null ? "" : Convert.ToDateTime(dr.Field ("ApprovedInviteBidModeTime")).ToString("yyyy-MM-dd"),//核准招标方式时间 ApprovedInviteBidModeCode = dr.Field ("ApprovedInviteBidModeCode"),//核准招标方式文号 ApprovedInviteBidModeMoney = dr.Field ("ApprovedInviteBidModeMoney") ?? 0,//招标方式核准金额 ApprovedInviteBidModeBasisAttach = dr.Field ("ApprovedInviteBidModeBasisAttach"),//上传核准招标方式依据文件 IsEvaluate = dr.Field ("IsEvaluate") ?? false,//项目投资是否评审 ApprovedInviteBidModeBasis = dr.Field ("ApprovedInviteBidModeBasis"),//上传核准招标方式依据 //招投标项目信息结算表 FinalAccountMoney = dr.Field ("FinalAccountMoney") ?? 0,//决算金额 ApproximateExecMoney = dr.Field ("ApproximateExecMoney") ?? 0,//执行金额 IsExceedApproximate = dr.Field ("IsExceedApproximate") ?? false,//是否超出概算 ExceedApproximateMoney = dr.Field ("ExceedApproximateMoney") ?? 0,//超出概算金额 // PackageID = dr.Field ("PackageID"),//包类型 PackageClassID = dr.Field ("PackageClassID"),//包类型 EngineeringName = dr.Field ("EngineeringName"), AgencyName = dr.Field ("AgencyName"), InviteSchemeSancDept = dr.Field ("InviteSchemeSancDept"), SanctionPPMode = dr.Field ("SanctionPPMode"), SanctionPPModeText = (tp1 == null ? "" : tp1.Title), RealPPMode = dr.Field ("RealPPMode"), RealPPModeText = (tp2 == null ? "" : tp2.Title), PPChangeSancDept = dr.Field ("PPChangeSancDept"), PPChangeReason = dr.Field ("PPChangeReason"), PPChangeBasis = dr.Field ("PPChangeBasis"), PPChangeBasisAttach = dr.Field ("PPChangeBasisAttach"), Media = b_common.TranslateMedia(list_media, dr.Field ("Media")), //3 SignedContractTime = dr.Field ("SignedContractTime") == null ? "" : Convert.ToDateTime(dr.Field ("SignedContractTime")).ToString("yyyy-MM-dd"), SignedContractMoney = dr.Field ("SignedContractMoney") ?? 0, ExecuteUnit = dr.Field ("ExecuteUnit"), //3 SettlementMoney = dr.Field ("SettlementMoney") ?? 0, IsExceedApproximateForPackage = dr.Field ("IsExceedApproximateForPackage") ?? false, ExceedApproximateBasis = dr.Field ("ExceedApproximateBasis"), ExceedApproximateBasisAttach = dr.Field ("ExceedApproximateBasisAttach"), Note = dr.Field ("Note") } ).ToList();