-4

LINQ に変換するストアド プロシージャがありますが、少し行き詰っています。SQLは次のとおりです。

    select 
      @name                             = tp.Name
,     @Entity                           = tc.Entity
,     @Name                             = tc.Name
,     @ID                               =  tpt.ID
,     @Code                             =  tptr.Code  

    from tbltprop tp 

    Left join tblcol tc                                on ( tc.id = tp.ID )
    Left join tblPropday  tpt               on ( tpt.Id = tp.Id )
    Left join tblProperResult tptr   on (tptr.ID = tpt.Id )

    where tp.id               = @chsarpID1 //input ID i get in c#
    and     tpt.Id = @chsarpID2

単一の結合を行う方法は理解していますが、複数の結合を機能させるのに問題があります。これについてはどうすればよいでしょうか?

4

1 に答える 1

2

これはあなたを助けるかもしれません.......

var values= from tp in tbltprop
            join tb in tblcol ON tp.id equals tb.id into gj
            from gjd in gj.DefaultIfEmpty()
            join tpt in tblPropday ON tp.id equals tpt.id into gk
            from gkd in gk.DefaultIfEmpty()
            join tptr in tblProperResult ON tp.id equals tptr.id into gl
            from gld in gl.DefaultIfEmpty()
            where tp.id == @charpID1 && gkd.Id == @CharpID2
            select new 
                   { 
                       TpName = tp.Name, 
                       Entity = gjd.Entity, 
                       TPTName = gjd.Name, 
                       ID = gkd.ID, 
                       Code = gld.Code
                   };
于 2013-06-27T10:17:57.120 に答える