2012-07-24 233 views
3

我有一个两个表,我需要连接和选择值,连接需要离开外部连接。我试图使用LINQ到SQL,但得到0,而不是实际值LINQ到SQL外部左连接与多个连接条件

引用表:

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,尽管在第二个表中有适当的值。我真的不确定我做错了什么。

希望能有所帮助。

谢谢。

+0

我相信你可以标记你自己的删除问题,因为它没有任何好处。 – Adam 2012-07-24 14:58:08

回答

0

我恨它,当我创建打破我的头和比长的时间后一个问题找到我自己只是右后它的解决方案。

请打消这个问题,我的问题是不连接的加入适当的领域。

对不起。

+0

在这种情况下,也许分享你自己的答案。它可能会帮助别人:) – Riaan 2012-07-24 14:58:29