sql连接查询到linq语法

时间:2009-02-14 20:25:25

标签: sql linq-to-sql

如何将此更改为linq to sql?

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'”

2 个答案:

答案 0 :(得分: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甚至不容易阅读。 ;)

答案 1 :(得分:3)

您应该能够将它放在语句的WHERE部分中,因为您没有加入除了与表上的常量字段进行比较之外的条件:

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