この結果を返すSQLは次のとおりです。Linq to SQL selectは匿名型のリストを返します
私のlinq to sqlクエリは、他のプロパティの中に具体的な型の "Credentials"というオブジェクトを返します。List of(文字列)GradesList。 資格情報の種類とクエリは制御できますが、基になるデータベースは制御できません。ここで
は私のリターンは現在、次のようになります。私が欲しいもの
Id Code IssueDate ExpDate Grd1 Grd2 Grd3 Grd4 Grd5 Grd6
6 TE0150 4/21/1999 4/21/2002 N N N N Y Y
6 TE0150 3/11/2003 3/28/2007 N N N N Y Y
6 TE0150 3/29/2012 3/28/2017 N N N N Y Y
6 TE0140 5/3/2007 5/3/2008 Y Y Y Y N N
6 TE0140 3/29/2012 3/28/2017 Y Y Y Y Y Y
は次のとおりです。ここで
Id Code IssueDate ExpDate GradesList
6 TE0150 4/21/1999 4/21/2002 Grd5,Grd6
6 TE0150 3/11/2003 3/28/2007 Grd5,Grd6
6 TE0150 3/29/2012 3/28/2017 Grd5,Grd6
6 TE0140 5/3/2007 5/3/2008 Grd1,Grd2,Grd3,Grd4
6 TE0140 3/29/2012 3/28/2017 Grd1,Grd2,Grd3,Grd4,Grd5,Grd6
はSQLです。 PPS_ENDORSE_DTLテーブルには、各Grdレベルの列があり、値として「Y」または「N」があります。その大きなインラインのLINQなステートメントに
from en in PPS_ENDORSE_DTL
join jpi in JPM_JP_ITEMS on new { x1 = en.ACCOMPLISHMENT, x2 = en.DT_ISSUED } equals new { x1 = jpi.JPM_CAT_ITEM_ID, x2 = jpi.EFFDT }
join jp in JPM_PROFILE on new { x1 = jpi.JPM_PROFILE_ID, x2 = en.EMPLID } equals new { x1 = jp.JPM_PROFILE_ID, x2 = jp.EMPLID }
join jci1 in JPM_CAT_ITEMS on en.PPS_ENDORSE_SUBJ equals jci1.JPM_CAT_ITEM_ID
join jci2 in JPM_CAT_ITEMS on new { x1 = jpi.JPM_CAT_TYPE, x2 = jpi.JPM_CAT_ITEM_ID } equals new { x1 = jci2.JPM_CAT_TYPE, x2 = jci2.JPM_CAT_ITEM_ID }
join es in PPS_ENDORSE_SUB on jci1.JPM_CAT_ITEM_IDequals equals es.PPS_ENDORSE_SUBJ
実際のLinq-to-SQLまたはLinq-to-Entitiesですか? Linq-to-SQLは、.NET 3.5で最後に更新された時点で、現在のところ廃止されていることに注意してください。 – Dai