Я читал о подзапросе в Критериях, но я все еще не могу схватить его правильно. Здесь я беру один пример и если кто-то может помочь мне записать, что использование подзапрашивает, это будет большим.
Позволяет говорят, что у нас есть таблица
Employee{EmployeeId.(int),Name(string),Post(string),No_Of_years_working(int)}
Теперь я хочу всех сотрудников, которые являются менеджерами и работающий меньше 10 лет. Я знаю, что мы можем получить результат, не используя подзапросы, но я хочу использовать подзапрос только, чтобы понять, как он работает в критериях.
Так, как я могу записать Критерии с помощью подзапроса для получения тех сотрудников.
Ну, код должен быть примерно таким:
DetachedCriteria dc = DetachedCriteria.For<Employee>()
.Add (Subqueries.PropertyIn("EmployeeId",
DetachedCriteria.For<Employee>()
.SetProjection(Projections.Property("EmployeeId"))
.Add(Restrictions.Lt("No_Of_years_working", 10))
.Add(Restrictions.Eq("Post", "Manager"))
);
Надеюсь, это поможет.