Динамическое выражение Любое условие Перечисление Проблема

Когда я фильтрую по дочернему свойству в моей сущности ShipmentOrder при фильтрации с помощью динамического выражения, дочернее свойство принимается как перечисление, и я получаю эту ошибку. «Тип перечисления «ShipmentAddress.CountryIdentifier» не найден». Интересно, какую фильтрацию делать?

Мое динамическое выражение: "(IsGift == "true" || new[] {"6763010d-d529-4169-88ac-97f44435e4a2", "3b189822-fe38-4a2e-a739-902c2d8a7f05", "3f748f66-0e68-4688-a078 -79c5c9a2506b"}.Any(x => ShipmentAddress.CountryIdentifier.Contains(x))) && (BillingAddress.City == null || NofLines == "2")"

      OuterValidationModel filter = JsonConvert.DeserializeObject<OuterValidationModel>(jsonBody);
string dynamicExpressionString = GenerateDynamicExpressionString(filter);
var result = deserializedSOList.AsQueryable().Where(dynamicExpressionString).ToList();

    ...
          else if (innerValidator.Comparator == "in")
                    {
                        var values = JsonConvert.DeserializeObject<List<string>>(innerValidator.Value);
                        var guidExpressions = values.Select(guid => $"\"{guid}\"");
                        var expression = $"new[] {{{string.Join(", ", guidExpressions)}}}";
                        innerCondition = $"{expression}.Any(x => {innerValidator.Field}.Contains(x))";
                    }
...

Моя модель

0 ответов

Другие вопросы по тегам