मैं अपने प्रोजेक्ट में एमवीसी 4 और इकाई फ्रेमवर्क 5 का उपयोग करता हूं और मेरे पास बहुत सारी टेबल हैं। हमारी परियोजना के नियम के रूप में, हम डेटाबेस से किसी भी रिकॉर्ड को नहीं हटाते हैं, प्रत्येक रिकॉर्ड में एक सक्रिय क्षेत्र होता है और यदि वह फ़ील्ड गलत है, तो हम इसे हटाते हैं। मैं सक्रिय रिकॉर्ड प्राप्त करने के लिए एक विस्तार विधि लिखना चाहते थे और कुछ Googling के बाद मैं यह लिखा:क्या मेरे मामले में विस्तार विधियों का उपयोग करना सही है?
public static IQueryable<Company> GetAll(this IQueryable<Company> source)
{
return source.Where(p => p.isActive);
}
अब मैं
Context db = new Context();
db.Company.GetAll();
की तरह ही सक्रिय रिकॉर्ड प्राप्त करने के लिए अपने एक्सटेंशन विधि का उपयोग कर सकते हैं लेकिन मैं कहता हूँ चलो मेरे डेटाबेस में 50+ टेबल हैं, क्या यह मेरी प्रत्येक तालिका के लिए एक ही एक्सटेंशन विधि लिखने का एक अच्छा तरीका है। क्या हमारी सभी टेबलों के लिए केवल एक GetAll() एक्सटेंशन विधि लिखने का एक बेहतर तरीका है? असल में मुझे यह भी यकीन नहीं है कि क्या इस उदाहरण के लिए विस्तार विधियों का उपयोग करने का सही तरीका है?
किसी ने मुझसे मदद और मुझे सही रास्ता दिखाने के कर सकते हैं? यदि आप कोड उदाहरणों में मदद करते हैं तो मैं सराहना करता हूं।
अपने तेजी से जवाब LordCover के लिए धन्यवाद। मैं डेटाबेस पहले दृष्टिकोण का उपयोग करें। EF5.x DbContextGenerator एक सामान्य पॉको क्लास जनरेटर है? यदि नहीं, तो मुझे सामान्य पीओसीओ कक्षा जनरेटर कहां मिल सकता है? वैसे, आपके उदाहरण में "स्रोत" के लिए कोई परिभाषा नहीं है। – cck
मुझे पता है, 'स्रोत' केवल ऑब्जेक्ट सेट है जो ऑब्जेक्ट्स का संग्रह है। –
लेकिन हम कैसे कहते हैं कि यह सक्रिय क्षेत्र है? कंपाइलर "ऐसा कोई फ़ील्ड" जैसी त्रुटि देता है? मुझे लगता है मुझे कंपनी वर्ग में डालना है, लेकिन कुछ भी नहीं बदलेगा, तो मुझे इसे अपने सभी टेबल के लिए करना होगा ?? – cck