Where
语句,其中包含要进行某种形式的验证的列表时,都会引发错误。[具体化IQueryable,即使用ToList()
转换为列表时,将引发错误。
找不到CLR类型到关系类型的映射“列表”。
private IQueryable<CollectionActivityInOverview> FilterActivitiesForAdvisor(IQueryable<CollectionActivityInOverview> activitiesList, List<string> advisorCodes) { List<AdvisorCustomerInfo>advisorInformation = GetAdvisorCustomers(advisorCodes).Result; var advisorCustomers = advisorInformation.SelectMany(a => a.Customers) .Distinct() .ToList(); // This is the problematic spot activitiesList = activitiesList.Where(a => advisorCustomers.Any(ac => ac == a.CustomerId)); return activitiesList; }
由于AFAIK,错误可能是什么,不仅Linq to Entities应该支持使用列表的条件,而且Linq to SQL还应该支持使用列表的条件。
虽然使用Entity Framework Core 2.2,但是当我有一个Where语句,其中包含要进行某种形式的验证的列表时,每次都会引发错误。错误正在...
var advisorCustomers = advisorInformation
.SelectMany(a => a.Customers)
.Select(c => c.CustomerId)
.Distinct()
.ToList();
activitiesList = activitiesList
.Where(a => advisorCustomers.Any(ac => ac == a.CustomerId));