linq到sql外左连接有多个连接条件

时间:2012-07-24 13:50:17

标签: c# asp.net linq-to-sql code-behind

我有一个需要连接的两个表并从中选择值,连接需要保留为外连接。我正在尝试使用linq到sql但是得到0而不是实际值

参考表:

refType varchar(250),
description varchar(250)

presentationsType(我的另一张表)

id int
refType varchar(250),
OtherFundings varchar(250)

我正在使用的查询是

string organization = (string)Session["organization"];
int FiscalYear = Int32.Parse((string)Session["fiscalyear"]);
string ReportingPeriod = (string)Session["reportingperiod"];

var presentationType = from pt in OCHART.References
                       join rf in OCHART.OCHART_PresentationTypes on pt.RefType equals rf.RefType into prt                                       
                       from x in prt.Where(prt2 => prt2.OrganizationName.Equals(organization) && prt2.ReportingPeriod.Equals(ReportingPeriod) && prt2.FiscalYear == FiscalYear).DefaultIfEmpty()
                        where pt.RefType.Equals("09-10.1b")                                          
                        orderby pt.RefOrder ascending
                        select new {
                              refType = pt.RefType, 
                              refName = pt.Description,
                              otherFundings = (x.Fundings == null ? 0 : x.Fundings), 
                              id = (x.id == null ? 0 : x.id)
                         };

但是我得到id = 0和otherFunding = 0尽管在第二个表中有适当的值。我真的不确定我做错了什么。

非常感谢帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

我讨厌这个问题,因为经过很长时间的打破我的问题而不是在我自己的问题之后找到解决方案。

请忽略这个问题,我的问题是没有链接正确的加入字段。

再次抱歉。