[英]How do IN () statements work in NHibernate? (Using Criteria)
我正在嘗試使用NHibernate創建以下內容。 我已經使用fluent完成了所有映射,我可以很好地進行基本查詢,但是我不知道該怎么做。
-**Product Table**
Reference
Title
Subjects (Many to Many relationship)
Price
-**Subject table**
SubjectID
Name
-**SubjectToProductMapping Table**
Reference
SubjectID
現在我需要這樣做:
SELECT *
FROM Product
WHERE Reference IN
(Select Reference FROM SubjectToProductMapping WHERE SubjectID = @SubjectID)
切記,對於該帖子,Product表已被簡化了很多,我更喜歡使用IN語句來簡化其余查詢。 理想情況下,我想使用Criteria創建查詢,因為我將使用Criteria來分頁結果。
提前致謝
當聯接足夠時,為什么要使用in呢? 如果您的Products類具有映射的主題集合,那么您可以使用此條件
IList<Product> results = session.CreateCriteria(typeof(Product))
.CreateCriteria("Subjects", JoinType.Join)
.Add(Resitctions.Eq(Projections.ID, subjectID))
.List<Product>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.