जॉन का जवाब काम करेगा, लेकिन IMHO LINQ से Entities में शामिल होने का उपयोग करना आमतौर पर गलत होता है , क्योंकि यह आपके मॉडल में कोड की नकल करता है। मैं जॉन की क्वेरी को L2E में बहुत आसान तरीके से फिर से लिख सकता हूं:
var query = from customer in db.Customers
from order in customer.Orders
from product in order.Products
from info in product.Info
select new
{
customer.Name,
info.BriefDescription
}
यह टाइपिंग का लगभग 50% और डुप्लिकेट कोड का 0% है। विचार करें कि आपके संबंधों को आपके डीबी और आपके मॉडल में पहले ही परिभाषित किया जा चुका है। क्या आप वाकई अपने द्वारा लिखी जाने वाली प्रत्येक क्वेरी में उन्हें फिर से डुप्लिकेट करना चाहते हैं, और जब आप अपने मॉडल को रिफलेक्टर करते हैं तो अपने प्रश्नों को तोड़ना चाहते हैं?