我有一个非常基本的模型:
public class Blog : UniqueEntity<Guid>
{
public virtual string Name { get; set; }
public virtual string Tagline { get; set; }
public virtual string ActiveThemeName { get; set; }
public virtual string MainDomain { get; set; }
public virtual IList<string> DomainAliases { get; set; } = new List<string>();
}
我需要编写一个NHibernate QueryOver
查询WHERE "hostname string" IN DomainAliases
。
我已经在SO上找到了很多关于如何在反方向上做到这一点的答案,即:`WHERE DomainAliases CONTAINS“hostname string”但是没有我需要的东西。
答案 0 :(得分:2)
解决方案,如下所述:
NHibernate: Select item with entry in element bag
应该是这样的:
var demos = this.session.CreateCriteria<Blog>()
.CreateAlias("DomainAliases", "d")
// .elemnts is what we need
.Add(Restrictions.Eq("d.elements", "hostname string"))
.List<Blog>();
另请查看: