3

結合して値を選択する必要がある2つのテーブルがあり、結合は外部結合のままにする必要があります。linq to 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)
                         };

しかし、2 番目のテーブルに適切な値があるにもかかわらず、id = 0 と otherFunding = 0 を取得しています。私は自分が間違っていることを本当に確信していません。

助けていただければ幸いです。

ありがとう。

4

1 に答える 1

0

長い間頭を悩ませた後に質問を作成し、その直後に自分で解決策を見つけるのは嫌いです。

質問を却下してください。私の問題は、参加するための適切なフィールドをリンクしていませんでした。

またすみません。

于 2012-07-24T14:55:55.260 に答える