EF核心2.2到EF核心3.1

时间:2020-01-30 13:26:11

标签: c# entity-framework entity-framework-core ef-core-3.1

当我以前使用EF 2.2时,它可以毫无问题地运行此代码:

public ResponseEntity(HttpStatus statusCode)

但是现在它会引发错误:

var resource = locResRepo.GetWhere(i => i.ForApplication.ToLower() == applicationName.ToLower())
            .Where(resourcesConditionExpression)
            .Select(item => new ResourceKeyObject
            {
                Id = item.Id,
                ResourceKey = item.ResourceKey,
                ResourceKeyValues = item.ActualLocalizationTranslation
                .Where(translationConditionExpression)
                .Select(v => new ResourceKeyValues
                {
                    Language = v.Language,
                    KeyValue = v.Value

                }).ToList()
            }).ToList();

我真的不知道为什么。或者也许我知道一些,但是我不知道如何实现

2 个答案:

答案 0 :(得分:1)

从3.0开始,不再在客户端上评估EF Core LINQ查询。 learn more: MSDN

实际上,我认为如果进行一些计算,您的问题可能出在i.ForApplication属性中。

答案 1 :(得分:0)

我找到了解决方案。由于EF 3.1逻辑,select之前必须为.ToList()