Tôi có một số điều như thế nàyLINQ to Entities không công nhận ngoại trừ phương pháp
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);
Trong khi thực hiện LINQ tuyên bố nó là ném ngoại lệ nói LINQ to Entities không nhận ra phương pháp 'Boolean containsKey (System.String) 'phương pháp, và phương pháp này không thể được dịch sang một biểu thức cửa hàng.
bản sao có thể có của [linq vào khung pháp nhân: sử dụng từ điển trong truy vấn] (http://stackoverflow.com/questions/7638859/linq-to-entity-framework-use-dictionary-in-query) – jrummell
@jrummell: Đây không phải là bản sao của câu hỏi bạn liên kết bởi vì nó sử dụng từ điển theo một cách khác. – Gabe