NHibernate QueryOver 其中值是 IN 列表 property/field?
NHibernate QueryOver where value is IN list property/field?
我有一个非常基本的模型:
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
。
我在这里找到了很多关于如何在相反方向上执行此操作的答案,即:`WHERE DomainAliases CONTAINS "hostname string" 但 none 满足我的需要。
解决方案,如下所述:
应该是这样的:
var demos = this.session.CreateCriteria<Blog>()
.CreateAlias("DomainAliases", "d")
// .elemnts is what we need
.Add(Restrictions.Eq("d.elements", "hostname string"))
.List<Blog>();
同时检查:
NHibernate How do I query against an IList property?
我有一个非常基本的模型:
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
。
我在这里找到了很多关于如何在相反方向上执行此操作的答案,即:`WHERE DomainAliases CONTAINS "hostname string" 但 none 满足我的需要。
解决方案,如下所述:
应该是这样的:
var demos = this.session.CreateCriteria<Blog>()
.CreateAlias("DomainAliases", "d")
// .elemnts is what we need
.Add(Restrictions.Eq("d.elements", "hostname string"))
.List<Blog>();
同时检查: