C# 如何在Linq中使用会话变量
如何在Linq查询中获取C# 如何在Linq中使用会话变量,c#,linq,C#,Linq,如何在Linq查询中获取会话[“UserId”]值 var result = (from c in db.UserMaster where c.UserID == Session["vUSerID"].ToString() select C ).ToList(); 但当我执行时,它会给我如下错误 LINQ to Entities无法识别方法“System.String ToString()”方法,并且无
会话[“UserId”]
值
var result = (from c in db.UserMaster
where c.UserID == Session["vUSerID"].ToString()
select C ).ToList();
但当我执行时,它会给我如下错误
LINQ to Entities无法识别方法“System.String ToString()”方法,并且无法将此方法转换为存储表达式
请指导我如何使用
ToString()
在将值发送到SQL之前,您需要具体化该值:
var userId = Session["vUSerID"].ToString();
var result = (from c in db.UserMaster
where c.UserID == userId
select C ).ToList();
在发送值以转换为SQL之前,需要具体化该值:
var userId = Session["vUSerID"].ToString();
var result = (from c in db.UserMaster
where c.UserID == userId
select C ).ToList();
或者,您可以尝试先将实体放入内存,然后应用条件以获得过滤结果,但由于潜在的性能问题,不建议这样做
var result = db.UserMaster.Select(x => x).ToList().Where(x => x.UserId == Session["vUSerID"].ToString()).ToList();
或者,您可以尝试先将实体放入内存,然后应用条件以获得过滤结果,但由于潜在的性能问题,不建议这样做
var result = db.UserMaster.Select(x => x).ToList().Where(x => x.UserId == Session["vUSerID"].ToString()).ToList();
尝试Convert.tostring()尝试Convert.tostring()