मैं रिपोजिटरी पैटर्न सीख रहा हूं और Repository Pattern with Entity Framework 4.1 and Code First और Generic Repository Pattern - Entity Framework, ASP.NET MVC and Unit Testing Triangle पढ़ रहा था कि वे एंटीटी फ्रेमवर्क के साथ रिपोजिटरी पैटर्न को कैसे कार्यान्वित करते हैं।रिपोजिटरी पैटर्न का उपयोग क्यों करें या कृपया मुझे यह समझाएं?
ऊपरी परत
• से
• छिपाएं एफई कह कोड बेहतर परीक्षण योग्य
मेक कोड बेहतर परीक्षण योग्य मैं समझता हूँ करते हैं, लेकिन क्यों ऊपरी परत से छिपाने एफई?
उनके कार्यान्वयन को देखते हुए, ऐसा लगता है कि इकाई ढांचे की क्वेरी के लिए एक सामान्य विधि के साथ इकाई ढांचे को लपेटें। असल में ऐसा करने का क्या कारण है?
मैं यह सोचते हैं हूँ
- ढीला युग्मन (कि ऊपरी परत से क्यों छिपाने एफई है?)
- बचें दोहराने समान क्वेरी
हूँ मैं सही ढंग से इस बात को समझ के लिए एक ही LINQ बयान writting के लिए है ?
अगर मैं एक DataAccessLayer जो एक वर्ग है लिखने तरीकों
QueryFooObject(int id)
{
..//query foo from entity framework
}
AddFooObject(Foo obj)
{
.. //add foo to entity framework
}
......
QueryBarObject(int id)
{
..
}
AddBarObject(Bar obj)
{
...
}
कि यह भी एक भंडार पैटर्न है? डमी के लिए
Explaination महान :)
हम्म, मैं अभी भी वास्तव में समझ में नहीं आता कि एक कुल रूट ऑब्जेक्ट भाग प्रति एक भंडार क्यों है। जब मैं ऑर्डर ऑब्जेक्ट को क्वेरी करने के लिए इकाई फ्रेमवर्क का उपयोग नहीं करता, तो ऑर्डर में ऑर्डर लाइनों की एक सूची होगी ...? क्षमा करें, मैं उलझन में हूं ... –
ईएफ में आप ऑब्जेक्ट कॉन्टेक्स्ट। सेव चेंज() विधि के साथ एक पूर्ण कुल रूट ऑब्जेक्ट को भी सहेज सकते हैं और पुनः प्राप्त कर सकते हैं।लेकिन मैंने इसे लिखा क्योंकि यह भंडार पैटर्न के साथ फायदे में से एक है। –
मैं देखता हूं, अब मैं समझता हूं। धन्यवाद। –