zSy*_*sis 3 c# linq outer-join
我有以下查询,但我不知道如何在表1上进行左外连接.
var query = (from r in table1
join f in table2
on r.ID equals f.ID
select new
{
r.ID,
r.FirstName,
r.LastName,
FirstNameOnRecord =
(f != null ? f.FirstName : string.Empty),
LastNameOnRecord =
(f != null ? f.LastName : string.Empty),
NameChanged =
(f != null
? (f.FirstName.CompareTo(r.FirstName) == 0
&& f.LastName.CompareTo(r.LastName) == 0)
: false)
}).ToList();
Run Code Online (Sandbox Code Playgroud)
请参阅此示例或此示例以了解更多信息以及您的情况将会是这样的 -
var query = from r in table1
join f in table2
on r.ID equals f.ID into g
from f in g.DefaultIfEmpty()
select new
{
r.ID
, r.FirstName
, r.LastName
, FirstNameOnRecord = (f != null ? f.FirstName : string.Empty)
, LastNameOnRecord = (f != null ? f.LastName : string.Empty)
, NameChanged = (f != null ? (f.FirstName.CompareTo(r.FirstName) == 0
&& f.LastName.CompareTo(r.LastName) == 0) : false)
}).ToList();
Run Code Online (Sandbox Code Playgroud)