में मॉडल और डेटा एक्सेस परतों के बीच LINQ का उपयोग करने के लिए एक सुझाव दिया गया है। मैं टिम मैककार्थी के awesome book on DDD in .NET पढ़ रहा हूं। हालांकि उनके उदाहरण के आवेदन में, उनकी अंतर्निहित डेटा एक्सेस एसक्यूएलसीई का उपयोग कर रही है और वह एसक्यूएल इनलाइन हैंड क्राफ्टिंग कर रहा है।क्या डीडीडी आधारित स्तरित आर्किटेक्चर
मैं एंटिटी फ्रेमवर्क का लाभ उठाने के लिए कुछ पैटर्न के साथ खेल रहा हूं लेकिन मुझे अंतर्निहित डेटा एक्सेस लेयर में आईआरपीओएसटीरी लिनक क्वेरी को मैप करने के तरीके पर अटक गया है।
मेरे पास एक ठोस भंडार कार्यान्वयन है।
public EFCustomerRepository : IRepository<DomainEntities.Customer>
{
IEnumerable<DomainEntities.Customer> GetAll(
Expression<Func<DomainEntities.Customer, bool>> predicate)
{
//Code to access the EF Datacontext goes here...
}
}
मेरी एफई मॉडल में, मैं POCO संस्थाओं उपयोग कर रहा हूँ लेकिन फिर भी वहाँ मेरे DomainEntity.Customer & मेरी DataAccessLayer.Customer वस्तुओं के बीच कोई मूल मैपिंग होने के लिए जा रहा है।
तो मैं बस एक EFContext.Customers.Where(...);
के लिए पैरामीटर के रूप में Expression<Func<DomainEntities.Customer, bool>> predicate
पारित नहीं हो सकता वहाँ एक आसान तरीका एक Expression<Func<T, bool>> predicate
=>Expression<Func<TOTHER, bool>> predicate
या मैं इस बारे में जा रहा हूँ सब गलत मैप करने के लिए है? किसी भी सुझाव/पॉइंटर्स की सराहना की।
क्या पुस्तक आपको डोमेन ऑब्जेक्ट्स * और * डेटा लेयर ऑब्जेक्ट्स का उपयोग करने का सुझाव देती है? यह अनावश्यक लगता है, खासकर जब आप पीओसीओ इकाइयों का उपयोग करते हैं। AFAIK डीडीडी के आस-पास के पूरे विचार को डोमेन की एक एकल परिभाषा है और इसे पूरे एप्लिकेशन में उपयोग करने की अनुमति है। – Steven