2009-02-14 104 views
1

我如何將這個更改爲LINQ到SQL?SQL連接查詢linq語法

select * from ratesSchedule as rs 
    inner join userdetails as ud on rs.sid = ud.sid 
    and rs.tabletype = 'd' 

我走到這一步

var results = from rs in db.ratesSchedule 
       join ud in db.userdetails on rs.sid equals ud.sid 

,但我無法弄清楚如何添加「和rs.tabletype =‘d’」

回答

5

如果你想做到這一點沒有where子句,試試這個:

var results = from rs in db.ratesSchedule 
       join ud in db.userdetails on 
        new { rs.sid, rs.tabletype } equals 
        new { ud.sid, tabletype = "d" } 

個人而言,我會堅持在這種情況下SQL,因爲LINQ是不是更容易閱讀。 ;)

+0

這正是我想要做的,但'd'(一個字符類型),它不會工作。我猜應該試試「d」。謝謝! – jorsh1 2009-02-15 01:10:15

3

你應該能夠只是把它在聲明的WHERE部分,因爲除了與表格上的恆定字段進行比較之外,您沒有加入條件:

var results = from rs in db.ratesSchedule 
       join ud in db.userdetails on rs.sid equals ud.sid 
       where rs.tabletype = 'd' 
+0

是的,但我會做多個連接,所以這個解決方案不會工作,一旦我補充說。對不起,我應該澄清 – jorsh1 2009-02-14 21:27:07