与NHibernate使用如何查询相关的对象包含
问题描述:
我是相当新的NHibernate的,所以这个应该是很容易:与NHibernate使用如何查询相关的对象包含
public IList<Ad> Search(string query)
{
return unitOfWork.Session
.QueryOver<Ad>()
.JoinQueryOver<AdProperty>(x => x.Properties)
.Where(ad => ad.Value.Contains(query))
.List();
}
我所试图做的,当然,是搜索广告, AdProperty包含某个字符串,并作为结果返回相应的Ad对象。 (我知道这会不会导致最佳查询,但现在这个就足够了)
问题
我不能使用。载,因为它是无法识别的。那么,如何正确使用NHibernate呢?
我看了一下NHibernate query looking for the related object's related object,但我无法得到那个功能。
注意
我使用NHibernate 3.0+
答
经过一番摆弄多,我的例子(上面提到的)工作。我会留下我的解决方案,以备将来参考。
public IList<Ad> Search(string query)
{
return unitOfWork.Session
.CreateCriteria<Ad>()
.CreateAlias("Properties", "props")
.Add(Expression.InsensitiveLike("props.Value", query, MatchMode.Anywhere))
.List<Ad>();
}
希望它可以帮助别人:-)