जब मेरे पास मेरे चयन में उसी तालिका का संदर्भ होता है, जहां मेरे क्लॉज में, लिनक से निबर्ननेट दो जुड़ता है, एक चयन के लिए और एक कहां के लिए। अर्थातलिंक से एनएचबर्ननेट एक ही तालिका में एकाधिक जोड़ों को उत्पन्न करता है
from child in Session.Query<Child>()
where child.Parent.Name == "Bob"
select new Info
{
ParentAge = child.Parent.Age,
ChildName = child.Name
};
उत्पन्न करता है की तरह एसक्यूएल:
Select this_.Name,
parent1.Age
From Child this_
left join Parent parent1 on child.ParentId = parent1.Id,
Parent parent2
Where child.ParentId = parent2.Id and parent2.Name = 'Bob'
मैं सोचा होगा मैं एसक्यूएल अधिक की तरह मिलना चाहिए:
Select this_.Name,
parent1.Age
From Child this_
inner join Parent parent1 on child.ParentId = parent1.Id
Where parent1.Name = 'Bob'
इस पाने के लिए क्वेरी की संरचना करने के लिए एक रास्ता है? क्या इससे कोई फर्क पड़ता है?
आप अपनी मैपिंग फ़ाइल कैसे सेट किया? क्या आपने झूठ के लिए कैस्केड विकल्प सेट किया है? – cpoDesign