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 @   liyinzhu  阅读(5772)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示