IQueryable,其中包含列表的地方引发“找不到CLR类型'List '。”的关系类型映射。 [使用Entity Framework Core 2.2时,每当我有一个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语句,其中包含要进行某种形式的验证的列表时,每次都会引发错误。错误正在... 您正在将“客户”与“客户ID”进行比较。尝试 var advisorCustomers = advisorInformation .SelectMany(a => a.Customers) .Select(c => c.CustomerId) .Distinct() .ToList(); activitiesList = activitiesList .Where(a => advisorCustomers.Any(ac => ac == a.CustomerId)); 您的第一个查询也可能确实返回客户ID,但类型错误。例如。为string而不是int。然后,您将不得不转换 var advisorCustomers = advisorInformation .SelectMany(a => a.Customers) .Select(c => Int32.Parse(c)) .Distinct() .ToList();

问题描述 投票:0回答:1
[使用Entity Framework Core 2.2时,每当我有一个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语句,其中包含要进行某种形式的验证的列表时,每次都会引发错误。错误正在...

c# asp.net-core entity-framework-core asp.net-core-2.2 entity-framework-core-2.2
1个回答
0
投票
您正在将“客户”与“客户ID”进行比较。尝试

var advisorCustomers = advisorInformation .SelectMany(a => a.Customers) .Select(c => c.CustomerId) .Distinct() .ToList(); activitiesList = activitiesList .Where(a => advisorCustomers.Any(ac => ac == a.CustomerId));

© www.soinside.com 2019 - 2024. All rights reserved.