रिपोजिटरी पैटर्न के लिए मैंने जो भी उदाहरण देखा है, उनमें कोई भी त्रुटि प्रबंधन शामिल नहीं है। यह क्यों है? उदाहरण के लिए कहें कि मेरे पास यह है:रिपोजिटरी में कैच करने का प्रयास करें
public virtual TItem Insert<TItem>(TItem item) where TItem:class,new()
{
dbContext.Set<TItem>().Add(item);
try
{
dbContext.SaveChanges();
}
catch (DbUpdateException)
{
return null;
}
return item;
}
एक उदाहरण जहां हम बाधा का उल्लंघन करते हैं। मैं DbUpdateException को पकड़ता हूं ... भंडार में नहीं होने पर यह त्रुटि लाइव हो सकती है?
मुझे डीबी अपडेट अपवाद फेंकने के साथ कोई समस्या नहीं है, यह NullRefrence से सहमत है, मैं सहमत हूं। Sotred प्रक्रिया दिन में वापस अगर हम मौजूद नहीं है तो हम उपयोग करेंगे। जाहिर है, मुझे डाटामॉडल पर स्थिरता है। तो आप एक इकाई को सम्मिलित करने से पहले रिकॉर्ड की जांच करने के लिए पर्याप्त स्मार्ट कैसे बनाते हैं? –
बाधाओं के खिलाफ जांच करने के लिए सम्मिलित करने से पहले एक तरीका कुछ प्रकार के वैलिडेटर का उपयोग करना होगा ताकि आप दोस्ताना त्रुटि संदेश प्रदान कर सकें। या आप भंडार का उपभोग करने वाले डेटाबेस में डेटाबेस द्वारा फेंकने वाले बाधाओं को पकड़ सकते हैं। किसी भी तरह से, मुझे नहीं लगता कि रिकॉर्ड को डाला जा सकता है या नहीं, यह पता लगाने के लिए यह भंडार का काम है। – rsbarro
मैं मानता हूं, जब मैं रिपोजिटरी कोड समाप्त करता हूं और वास्तव में उपभोक्ता के लिए कुछ डी को तार देता हूं तो मैं उस पुल को पार कर दूंगा। –