sql在一个字符串匹配上连接两个表

时间:2014-03-07 17:25:48

标签: c# sql linq

这是我的linq查询 -

from u in db.CardTables
   join v in db.FunRegistereds
   on new { u.IsApproved, u.FKCardID } equals new {"YES", v.UserID }

从第一个表CardTables中的此查询列开始,其中一个字符串匹配且列FKCardID为整数类型。

我对第一个字符串匹配感到困惑。

如何将此u.IsApproved列与字符串"YES"匹配,同时以这种方式匹配两列?

2 个答案:

答案 0 :(得分:4)

加入FKCardID等于UserID,只需过滤u.IsApproved

from u in db.CardTables
join v in db.FunRegistereds
   on u.FKCardID equals v.UserID
where u.IsApproved == "YES"
...

答案 1 :(得分:3)

您需要在第二个匿名类型初始化程序中为属性指定名称:

from u in db.CardTables
join v in db.FunRegistereds
on new { u.IsApproved, u.FKCardID } equals 
   new { IsApproved = "YES", FKCardID = v.UserID }