Дима_89 Ответов: 0

Servicestack. ormlite завершается неудачей, если условие имеет подзапрос


Я использую ServiceStack.OrmLite v4. 0. 62 из-за .NET Framework 4.0. мне нужно выполнить функцию поиска. Поскольку мои классы POCO имеют глубокую иерархию,мне нужно использовать запросы LINQ с вложенными подзапросами.:
// some code is omitted
Expression<Func<Person,bool>> condition = p => p.Name.Contains("John") &&
p.Addreses.Any(adr => adr.City.Contains("Moscow") && adr.Street.Contains("Yuri Gagarin") && adr.Building == 23); // and so on...

// some code is omitted

// Gets the quantity of records were found
public int GetCountBy(Expression<Func<T,bool>> condition)
{
    // here it throws an Exception
    return db.Persons.Count(condition);
}

А теперь он выбрасывает исключение:
variable 'person' of type 'Reestr.DAL.Entities.Person' referenced from scope '', but it is not defined

Такое же исключение возникает, когда мы используем другой метод, который поддерживает выражение в качестве параметра. Мои вопросы таковы: как я могу решить эту проблему? Поддерживает ли OrmLite такие запросы?

Что я уже пробовал:

Я пытался создать свое выражение вручную, но это мне не помогает. Кроме того, я попытался использовать другие методы OrmLite.

Mehdi Gholam

Попробуйте связаться с оригинальным автором(АМИ).

0 Ответов