Nhibernate与存储过程。输入参数作为自定义对象

时间:2012-09-19 12:43:58

标签: nhibernate

它是如何运作的:

 return Session
            .GetNamedQuery("Select_Question_Group")
            .SetInt32("QuestionGroupId", QuestionGroupId)
            .UniqueResult<QuestionGroup>();

它是否存在这样的方式:

 return Session
            .GetNamedQuery("Select_Question_Group")
            .With(new RequestCustomClass{QuestionGroupId = 1}) // not existent method
            .UniqueResult<QuestionGroup>();

谢谢!

1 个答案:

答案 0 :(得分:1)

没有什么可以阻止你创建一个扩展方法来做到这一点。

类似的东西:

public IQuery With(this IQuery query, object parameters)
{
    foreach (var property in paramters.GetType().GetProperties())
        query.SetParameter(property.Name, property.GetValue(parameters, null));
    return query;
}