2010-08-24 53 views
0
SELECT * 
FROM table1 JOIN table2 
ON table1.center BETWEEN table2.left AND table2.right 

我是LINQ新手,我看到'join'需要'equals'關鍵字(而不是我的SQL中的BETWEEN)。也許我可以重寫'Equals'操作符並創建一個LINQ查詢的新對象?這個SQL查詢是否可以轉換成LINQ?

+0

假設的問題是兩列加入,看到了這個問題:http://stackoverflow.com/questions/345427/linq-to-sql-join-multiple-columns-from-the-same-table – Kobi 2010-08-24 08:48:04

回答

4

對於除等號以外的其他事情,請將您的連接條件放在where子句中。它與舊樣式的SQL類似,您以笛卡爾聯接開始,然後過濾where子句。

from t1 in table1 
from t2 in table2 
where t1.centre >= t2.left && t1.centre <= t2.right 
select new { ta.centre, t1.left}; //add more fields as required.