Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Linq中使用会话变量_C#_Linq - Fatal编程技术网

C# 如何在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()”方法,并且无

如何在Linq查询中获取
会话[“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()