使用NHibernate Criteria调用类的方法

时间:2009-10-21 15:30:36

标签: 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;}
}

当您使用ICriteria查询数据库时,是否可以在Student类上调用HasCompletedCoursework方法。

干杯 科林G

2 个答案:

答案 0 :(得分:1)

而不是使用标准api,而是使用linq 2 nh api,提取Func<bool, Student>形式的谓词,可以由Student类和存储库(或任何人)使用查询)以Expression<Func<bool, Student>>的形式,以便DB完成工作。

答案 1 :(得分:0)

没有。 ICriteria旨在构建Sql查询。如果您可以将此方法更改为某些sql条件,则为yes,否则为 - no。