就像我昨天从Linq走向实体框架一样。但是在我在代码中找到页面上的不同位置之后。但是当我只需要登录页面时就给我带来了问题。
LINQ to Entities无法识别方法'Int32 Userid()'方法,并且此方法无法转换为商店表达式。
当我需要知道用户是否有会话知道您是否登录时,会犯错误。
然而,这是我第一次使用EF(实体框架),但很快就在Linq工作了大约2年。
private static int Userid()
{
return Helper.BrugerInformation.SessionVale.SessionBrugerid();
}
public static string UserLayOut()
{
var checkuser = db.Users.FirstOrDefault(i => i.Id == Userid());
if(checkuser != null)
{
return "~/Views/Shared/_backendLayout.cshtml";
}
else
{
return "~/Views/Shared/_Layout.cshtml";
}
}
返回会话信息:
public const string BrugerId = "Brugerid";
public class SessionVale
{
public static int SessionBrugerid()
{
string brugerid = BrugerId;
return Convert.ToInt32(HttpContext.Current.Session[brugerid]);
}
}
我怎样才能完成,以便我可以尽可能地使用不同的值?
答案 0 :(得分:2)
使用局部变量,例如
int userid = Userid();
var checkuser = db.Users.FirstOrDefault(i => i.Id == userid );