我希望能够在其他几个函数中使用一个特定的查询,我有一个类,它只为特定域创建一个专门的 QueryOver 对象。
但是该函数使用别名对象来创建连接。如何从另一个函数访问这些别名?
例如,假设我有 Course 实体,每个实体都有学生的集合。而且我总是只想获得Active
(布尔值)课程
public class QueryHelperClass
{
public QueryOver<Course, Course> GetQuery()
{
Address studentAlias = null;
QueryOver<Course, Course> query = QueryOver.Of<Course>(() => courseAlias)
.JoinAlias(x => cus.Student, () => studentAlias)
.Where(x => courseAlias.IsActive);
return query;
}
}
如果我需要做的只是 GetExecutableQuery 并返回结果,那效果很好,但是如果我需要通过访问来修改查询,我该怎么办studentAlias
?
例子:
public class SomeOtherClass
{
public List<Course> GetActiveCourseSummary(QueryOver<Course, Course> queryOver)
{
var query = queryOver.Where(a=> studentAlias.Name = "Bob");
...
}
}
从SomeOtherClass.GetActiveCourseSummary
我想修改查询以仅获取注册“鲍勃”的课程。但我无法访问 studentAlias,因为它是在另一个函数中定义的。
我可以在这里做什么,或者我是否错误地设置了这一切?