Вызов метода в классе с критериями NHibernate

Скажи, что у меня есть такой объект

public class Student{
    public IList<Coursework> Courseworks{get;set;}
    public string Name{get;set;}
    public int Age{get;set;}

    public bool HasCompletedCoursework(int courseyear, string moduleName)
    {
         return Courseworks.Any(x => x.Courseyear == courseyear && x.ModuleName == moduleName && IsComplete);
    }
}

public class Coursework{
    public int Courseyear{get;set;}
    public string ModuleName{get;set;}
    public bool IsComplete {get; set;}
}

Можно ли вызвать метод HasCompletedCoursework в классе Student, когда вы используете ICriteria для запроса базы данных.

Ура Колин Г

2 ответа

Решение

Нет. ICriteria предназначена для построения запросов Sql. Если вы можете изменить этот метод на некоторые критерии SQL, то да, в противном случае - нет.

Вместо использования критериев api, но вместо использования linq 2 nh api, извлечение предиката в форме Func<bool, Student> которые могут быть использованы как Student класс и хранилище (или тот, кто запрашивает) в форме Expression<Func<bool, Student>> для того, чтобы БД выполняла работу.

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