Fluent nhibernate 按条件获取通用列表

Fluent nhibernate 按条件获取通用列表,fluent-nhibernate,Fluent Nhibernate,假设数据库中有以下表: 我想得到一个有特定dadId的所有孩子的列表,并且我想在其他标准中重复使用这个方法 我会用这样的东西吗 public IList<T> FindBy(Expression<Func<T, bool>> expression) { return Session.CreateCriteria<T>() //add restriction .List<

假设数据库中有以下表:

我想得到一个有特定dadId的所有孩子的列表,并且我想在其他标准中重复使用这个方法

我会用这样的东西吗

 public IList<T> FindBy(Expression<Func<T, bool>> expression)
    {
        return Session.CreateCriteria<T>()
           //add restriction
            .List<T>();
    }
public IList FindBy(表达式)
{
返回会话。CreateCriteria()
//增加限制
.List();
}

list
可能返回
list
,具体取决于您的条件

您可以编写包装器,但这会带来很大的开销。

public-IList-GetAll()
public IList<T> GetAll<T>()
     where T : class
{
    return _session.CreateCriteria<T>().List<T>();
}
T:在哪里上课 { 返回_session.CreateCriteria().List(); }
对我来说很好!投票! 类似的答案如下:


我为什么没有得到投票权?这段代码适合我,它似乎正是用户正在寻找的。我错过什么了吗?

是的,一个干净的主意。但不幸的是,没有。好吧,你们有更好的解决方案吗?我是NHibernate的新手,我不知道你们对wrapper是什么意思。你能再具体一点吗?谢谢。包装纸是四人帮的一种更大的适配器图案。看,我有点困惑。。。您像专业人士一样使用泛型,但不知道包装器D也许我只是老了!哈哈,我知道什么是包装,但我不知道如何使用它在这种情况下。它会是这样的:返回Session.CreateCriteria()和.List,因为它抱怨CreateCriteria中有T?:)