-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 回答