कई बड़ी मुख्य सारणी के साथ प्रारंभिक प्रोजेक्ट के साथ काम करते समय रिपोजिटरी पैटर्न अच्छी तरह से काम करता प्रतीत होता है।रिपोजिटरी पैटर्न के लिए सबसे अच्छा अभ्यास क्या है - प्रति टेबल रेपो?
हालांकि परियोजना बढ़ने के साथ यह थोड़ा लचीला लगता है। मान लें कि आपके पास बहुत सारी बाल सारणीएं हैं जो मुख्य तालिका से लटकती हैं, क्या आपको प्रत्येक तालिका के लिए एक भंडार की आवश्यकता है?
उदा।
CustomerAddress रिकार्ड निम्न है बच्चे टेबल:
-> काउंटी
-> देश
-> CustomerType
यूआई पर, 3 लटकती सूचियों प्रदर्शित करने के लिए की जरूरत है, लेकिन यह उपर्युक्त सारणी में से प्रत्येक के लिए एक भंडार लिखना थोड़ा कठिन हो जाता है जो ड्रॉपडाउन के लिए डेटा का चयन करता है।
क्या ऐसा करने का सबसे अच्छा अभ्यास/अधिक प्रभावी तरीका है?
एक उदाहरण के रूप में कहें कि आपके पास एक मुख्य ग्राहक एड्रेस रिपोजिटरी है जो मुझे लगता है कि 'कुल रूट' है जो बेस रेपो इंटरफेस से मुख्य सीआरयूडी ऑपरेशंस प्राप्त करता है।
पहले मैंने कुल रूट को छोटा कर दिया है और सीधे इस तरह के तालिकाओं के संदर्भ में चला गया है।
उदा।
public Customer GetCustomerById(int id)
{
return Get(id);
}
public IEnumerable<Country> GetCountries()
{
return _ctx.DataContext.Countries.ToList();
}
आदि ...
लेकिन कभी कभी यह सही नहीं लग रहा करता है, जैसे देशों ग्राहक का हिस्सा नहीं हैं, लेकिन मैं जैसे मैं बिना कुछ पर यह हमले करने की जरूरत महसूस हो रहा है प्रत्येक तालिका के लिए रिपो के ज़िलियन बनाएं। प्रति टेबल एक रेपो निश्चित रूप से मेरे लिए सही प्रतीत नहीं होता है।
अच्छी तरह से। imho a 'country' को नष्ट नहीं किया जाएगा क्योंकि आप 'ग्राहक एड्रेस' हटाते हैं। मुझे लगता है कि यह बढ़ना जारी रहेगा। यह एक बच्चा कुल नहीं है। – jgauffin
ओआरएम के साथ भंडार से बचें;) http: // ayende।कॉम/ब्लॉग/3 9 55/रिपोजिटरी-है-द-न्यू-सिंगलटन – fex