close

在職場上..
有些好東西,好技術,非常稀少 會有人 欣賞、或稱讚 它是好方法...。 「你先做出來再說」的現實光景..。
他們不喜歡 在程式碼中,貼了一些有的沒的..,他們:「我不需要!」(我只要知道對於除錯、處理問題,有幫助的就好!) (其他的都給我砍掉!)
只好放在網路上分享,也可以自己查詢...

不囉唆,以下就是 LINQ 的 FULL OUTER JOIN 的 程式碼 範例:


var firstNames = new[]
{
    new { ID = 1, Name = "John" },
    new { ID = 2, Name = "Sue" },
};
var lastNames = new[]
{
    new { ID = 1, Name = "Doe" },
    new { ID = 3, Name = "Smith" },
};
            
var leftOuterJoin = from first in firstNames
                    join last in lastNames
                    on first.ID equals last.ID
                    into temp
                    from last in temp.DefaultIfEmpty( new { first.ID, Name = default( string ) } )
                    select new
                    {
                        first.ID,
                        FirstName = first.Name,
                        LastName = last.Name,
                    };
var rightOuterJoin = from last in lastNames
                    join first in firstNames
                    on last.ID equals first.ID
                    into temp
                    from first in temp.DefaultIfEmpty( new
                    {
                        last.ID,
                        Name = default( string )
                    } )
                    select new
                    {
                        last.ID,
                        FirstName = first.Name,
                        LastName = last.Name,
                    };
var fullOuterJoin = leftOuterJoin.Union( rightOuterJoin );

先決條件:.NET3.5using System.Linq;

資料來源:LINQ - Full Outer Join (stackoverflow)

arrow
arrow

    Robert 發表在 痞客邦 留言(0) 人氣()