Entity Framework Core, где запрос внутри переменных foreach - PullRequest
0 голосов
/ 15 февраля 2020

Мне нужна версия запроса LINQ ниже.

SELECT *
FROM Persons
WHERE (
        Company = '9390'
        AND Costcentre IN ('939140')
        )
    OR (
        Company = '9391'
        AND Costcentre NOT IN (
            '939344'
            ,'939346'
            ,'939347'
            ,'939348'
            )
        )
    OR (Company = '15B9')

Я написал запрос в LINQ. Но параметры в запросе должны быть получены из foreach l oop. Данные компании и CostCentre получены из List<DataPolicy>.

DataPolicy {
  public string CompanyCode { get; set; }
  public List<string> IncludedCosts {get;set;} // for where contains
  public List<string> ExcludedCosts {get;set;} // for where not contains
}

. Я написал запрос LINQ вручную.

personQuery = personQuery.Where(person => (
              (person.Company == "9390" && person.CostCentre.Contains("939140")) ||
              (person.Company == "9391" && !ids.Contains(person.CostCentre)) ||
                       (person.Company == "15B9")
          ));

Мне нужно динамически создать этот запрос с помощью DataPolicy l oop. Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...