我正在尝试将此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'
我查看了以下帖子,但无法将示例应用于我的代码:
任何帮助将不胜感激!
由于
答案 0 :(得分:0)
我不能直接回答我自己的问题,但我找到了解决方法。
我使用linq代替调用存储过程并且工作正常。
要做到这一点:
1)将代码保存为存储过程,该过程接受名为UserName的参数 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 !! :)