0
我希望結果是單個sql語句。 我有以下結構:如何使用NHibernate DtachedCriteria子查詢按引用實體屬性列表進行過濾?
public class B
{
public virtual int Id { get; set; }
public virtual int BNumber { get; set; }
}
public class A
{
public virtual int Id { get; set; }
public virtual IList<B> Bs { get; set; }
public virtual int ANumber { get; set; }
}
如果我有一個較高的數字過濾器的那麼6分離標準:
DetachedCriteria.For<A>().Add(Restrictions.Gt("ANumber", 6))
.Add(Subqueries.???).List<A>();
我想添加一個過濾器,將只返回A的含有B的數字低於5.我該怎麼做?我想盡可能通用,這樣我就可以在多個地方重複使用它。
由於具有或者!但如果我想使用更多的1子查詢?我是否應該將CreateCriteria(「Bs」)resut賦值給一個參數,並將CreateCriteria(「Cs」)結果賦值給另一個參數並使用Restrictions.Or? – 2013-05-03 10:09:38
然後使用CreateAlias(「property」,「alias」)和Restrictions.Or(...「alias.Property」...) – Firo 2013-05-03 14:37:07
你能給我一個如何做2個子查詢和按他們的id過濾的例子號碼? (假設我正在使用問題中的結構)?我不確定在「或」函數調用中究竟會發生什麼。 – 2013-05-03 16:39:55