我已经在.hmb.xml中映射了实体,并为类中的所有实体定义了属性。
我有一些基本的成就,并使用下面的代码获得所有记录。
public List<DevelopmentStep> getDevelopmentSteps()
{
List<DevelopmentStep> developmentStep;
developmentStep = Repository.FindAll<DevelopmentStep>(new OrderBy("Id", Order.Asc));
return developmentStep;
}
我从网上检查过我们可以编写HQL,现在的问题是如何执行这个HQL ...
string hql = "From DevelopmentSteps d inner join table2 t2 d.id=t2.Id where d.id=IDValue";
我需要添加哪些额外的类或其他东西来执行这种HQL?
请帮助我----谢谢
答案 0 :(得分:1)
session.Get
(或session.Load
)按ID获取(单个)实例。只有这样NHibernate才能直接从缓存中获取它而不需要数据库往返,它已经被加载了。例如:
public IList<T> GetAll<T>(string orderBy)
{
return session.CreateCriteria(typeof(T))
.AddOrder(Order.Asc(orderBy))
.List<T>();
}