Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
567 views
in Technique[技术] by (71.8m points)

linq - left outer join problem

I need to convert some SQL statement to LINQ. How convert LEFT OUTER JOIN to equivalent LINQ statement?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You need to use the DefaultIfEmpty operator. The below code should result in a left outer join.

var q = from c in customers
            join o in orders on c.Key equals o.Key into g
            from o in g.DefaultIfEmpty()
            select new {Name = c.Name, OrderNumber = o == null ? "(no orders)" :     o.OrderNumber};

Credit to: http://www.hookedonlinq.com/OuterJoinSample.ashx


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...