我有一个存储过程正在转换为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
我知道如何进行单联接,但在进行多联接时遇到了一些困难。怎么办?
这可能会对您有所帮助。。。。。。。
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
};