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());

银柱网-李银柱个人博客 http://www.liyinzhu.com

posted @ 2016-12-29 16:41  liyinzhu  阅读(5756)  评论(0编辑  收藏  举报