mvc ef LINQ to Entities 不识别方法“Int32 Parse(System.String)”,因此该方法无法转换为存储表达式。
private sys_User GetUserInfo()
{
sys_User model = null;
var userId = Convert.ToInt32(AccountHelper.GetAccountUserId());
var list = BLLSingleton.Instance.IUserService.GetListBy(c => c.UserId == userId);
if (list != null)
model = list.FirstOrDefault();
return model;
}
---------------------------------------------------------------------------------------
mvc ef 识别不了的(会报LINQ to Entities 不识别方法“Int32 ToInt32(System.String) 错误)
原因在于linq表达式中无法识别convert方法.
因为where里面不能调用这种convert等C#方法 要么在外面转好了int类型添加进去
tostring等方法也不能放到where里面调用 因为他要解析lamda表达式 而不是去解析C#的方法
所以事前将string转成int 在用
var userId = Convert.ToInt32(AccountHelper.GetAccountUserId());
本文来自博客园,作者:liyinzhu,转载请注明原文链接:https://www.cnblogs.com/liyinzhu/p/6233634.html