使用case语句与linq一起使用



我正在尝试将此SQL查询转换为linq查询,但运气不多。

SELECT DISTINCT     gen.ID
                ,   gen.Name
                ,   Ssec.System 
FROM                dbo.Generic Gen
JOIN                dbo.SystemsSelected SSel
ON                  Gen.RecordID = SSel.RecordID
JOIN                dbo.Security SSec
ON (
            SSel.SystemA = CASE WHEN Ssec.System = '1stSystem' THEN 1 ELSE NULL END
        OR  SSel.SystemB = CASE WHEN Ssec.System = '2ndSystem' THEN 1 ELSE NULL END
    )
and SSec.Username = 'myUserName'

我已经查看了以下帖子,但不能将示例应用于我的代码:

链接加入案例条件

linq查询与表连接

任何帮助将不胜感激!

谢谢

我无法直接回答自己的问题,但我找到了解决方法。

我使用linq来调用存储过程,而且工作正常。

这样做:

1)将代码保存为一个接受参数名为用户名的存储过程2)将SP添加到实体框架模型中3)使用:

致电SP
public JsonResult GetNewTeams(string userUserName)
    {
        using (YourDBNameEntities db = new YourDBNameEntities ())
        {
            var ret = db.SP_YourStoredProcedureName(userUserName).ToList();
            return Json(ret, JsonRequestBehavior.AllowGet);
        }
    }

那就是这样,完成了,不再有可怕的linq!:)

酱汁:使用Linq

中的存储过程

相关内容

  • 没有找到相关文章

最新更新