के साथ जुड़ें मैं LINQ के साथ एक OR कथन का उपयोग करके जॉइन करना चाहता हूं।LINQ या
SELECT t.id
FROM Teams t
INNER JOIN Games g
ON (g.homeTeamId = t.id OR g.awayTeamId = t.id)
AND g.winningTeamId != 0
AND g.year = @year
GROUP BY t.id
मैं मुसीबत परिवर्तित उस खंड पर LINQ करने के लिए हो रही है:
यहाँ SQL क्वेरी मैं के साथ शुरू कर रहा हूँ है। यह वह जगह है जहाँ मैं कर रहा हूँ पर:
var y = from t in db.Teams
join g in db.Games on t.ID equals g.AwayTeamID //missing HomeTeamID join
where g.WinningTeamID != 0
&& g.Year == year
group t by t.ID into grouping
select grouping;
मुझे लगता है कि मैं इस्तेमाल कर सकते हैं:
join g in db.Games on 1 equals 1
where (t.ID == g.HomeTeamID || t.ID == g.AwayTeamID)
और इस काम करता है लेकिन hacky लगता है एक तरह से लगता है। क्या कोई बेहतर तरीका है?
मैं निश्चित रूप से उपयोग करना चाहता हूं || लेकिन मैं उम्मीद कर रहा था कि मैं इसे जॉइन में डाल सकता हूं। मैंने अभी तक यह निष्पादित नहीं किया है कि एसक्यूएल आउटपुट क्या है, लेकिन मैंने इसमें शामिल होने के लिए 1 बराबर 1 और जहां या खंड में मेरा या कथन नीचे संकलित किया है। – AndyMcKenna