2009-05-07 7 views
6

एक उदाहरण के रूप में इस क्वेरी लें:में नहीं के साथ क्वेरी करने के लिए NHibernate का उपयोग कहां खंड

select * from publisher 
where id not in (
    select publisher_id from record 
    where year = 2008 and month = 4 
) 

किसी को भी मैं कैसे निर्माण और NHibernate का उपयोग कर इस क्वेरी चला सकते हैं पर मेरी मदद कर सकते हैं? मान लें कि मेरे पास 2 कक्षाएं हैं: Publisher और Record

धन्यवाद

+0

मानदंड या HQL का उपयोग कर? मानदंड का उपयोग कर –

+0

। धन्यवाद – rguerreiro

+0

प्रकाशक और आपके मॉडल वर्गों में रिकॉर्ड के बीच क्या संबंध है? –

उत्तर

7

इस प्रयास करें:

DetachedCriteria c = DetachedCriteria.For<Record>() 
    .SetProjection(Projections.Property("Publisher")) 
    .Add(Restrictions.Eq("Year", 2008)) 
    .Add(Restrictions.Eq("Month", 4)); 
session.CreateCriteria(typeof(Publisher)) 
    .Add(Subqueries.PropertyNotIn("Id", c)) 
    .List(); 
संबंधित मुद्दे