asp.net-mvc – LINQ to Entities无法识别方法异常
发布时间:2020-10-19 17:39:37 所属栏目:asp.Net 来源:互联网
导读:我有这样的事情 SecuritySearcher sc = new SecuritySearcher();Dictionarystring, bool groupsMap = sc.GetUserGroupMappings(domainName, currentUser, distGroups.ToList());IQueryableHotelTravel groupq =
我有这样的事情 SecuritySearcher sc = new SecuritySearcher(); Dictionary<string,bool> groupsMap = sc.GetUserGroupMappings(domainName,currentUser,distGroups.ToList()); IQueryable<HotelTravel> groupq = (from hotel in qHs join hp in qHps on hotel.HotelTravelId equals hp.HotelTravelId where !string.IsNullOrEmpty(hp.GroupName) && groupsMap.ContainsKey(hp.GroupName) && groupsMap[hp.GroupName] == true select hotel); 在执行Linq语句时,它正在抛出异常说法 解决方法为了将表达式转换为数据库查询,数据库必须以某种方式知道字典的内容并有办法从查询中访问它. SQL中没有字典机制,但这并不重要,因为您不需要字典,因为您只是在寻找值为某个常量的键.您可以将该组密钥转换为列表,并查看该列表是否包含您要查找的内容:var groupsList = (from kvp in groupsMap // find all keys in groupsMap where kvp.Value == true // where the value is set to True select kvp.Key).ToList(); IQueryable<HotelTravel> groupq = from hotel in qHs join hp in qHps on hotel.HotelTravelId equals hp.HotelTravelId where !string.IsNullOrEmpty(hp.GroupName) && groupsList.Contains(hp.GroupName) select hotel; 我怀疑你实际上并没有将空字符串作为字典中的键,这意味着你可以摆脱IsNullOrEmpty调用,只需要在groupsList.Contains(hp.GroupName)中. (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 过滤ASP.NET Core API中的属性
- asp.net-mvc – 在我的ASP.NET MVC网站中缓存不能正常工作?
- 什么是ASP.NET WebForms相当于ASP.NET MVC的ViewData
- asp.net – 测试Oracle存储过程的最简单的方法
- 使用ASP.NET AJAX Control Toolkit设置焦点
- asp.net-mvc – 存储库与DAL中的服务模式:EF和Dapper
- asp.net 分页显示数据表的数据的代码
- 如何使用Fluent Nhibernate中的Automapping进行OR Mapping映
- asp.net-mvc – 在MVC Razor视图中使用@RenderBody有什么意
- ASP.NET 清除模式窗口数据缓存的操作方式