0

我需要将此 SQL 转换为 LINQ,并且非常感谢一些帮助。

SELECT * FROM Adx_eventSet AS es
LEFT JOIN afx_eventsponsor_eventSet AS spon
ON es.Adx_eventId = spon.adx_eventid

我试过这个,但它不是左连接,所以只得到一个结果。

from t in Adx_eventSet
join x in adx_eventsponsor_eventSet on t.Adx_eventId equals x.adx_eventid
select t
4

1 回答 1

1

你想用DefaultIfEmpty(). 见下文。

var leftJoin = from adx_event in Adx_eventSet
               join adx_eventsponsor in adx_eventsponsor_eventSet
               on adx_event.Adx_eventId equals adx_eventsponsor.adx_eventid into j 
               from adx_eventsponsor in j.DefaultIfEmpty()
               select new 
               { 
                   Name = adx_event.Name,
                   Name = adx_eventsponsor != null ? adx_eventsponsor.Name : null  
               };

假设每个表都有一个Name属性。

于 2013-04-19T14:52:23.967 回答