में एक selectList उत्पन्न मैं निम्नलिखित दो तरीकों कि मेरे DB से डेटा प्राप्त है और एक आबादी वाले selectList वस्तु (एक "सभी" विकल्प मान सहित) लौटने कि मैं तो मेरे विचार पर पारित किया है। समस्या यह है कि वे अपवाद के लगभग समान हैं कि वे दोनों अलग-अलग भंडार वस्तुओं तक पहुंचते हैं और उनके पास अलग-अलग आईडी नाम हैं (StatusId और TeamId)। मुझे लगता है कि उन्हें एक ऐसी विधि में दोबारा करने का अवसर है जो रिपॉजिटरी को पैरामीटर के रूप में स्वीकार करता है और किसी भी तरह से आईडी नाम होना चाहिए, शायद प्रतिबिंब या किसी प्रकार का लैम्ब्डा अभिव्यक्ति का उपयोग करके, लेकिन मुझे नहीं पता कि कैसे यह प्राप्त करने के।Refactor दो विधियों है कि एक ही विधि
private SelectList GetStatusSelectList(int selectedStatusId)
{
List<MemberStatus> statusList = _memberStatusRepository.All().ToList();
statusList.Insert(0, new MemberStatus {StatusId = 0, Name = "All"});
var statusSelectList = new SelectList(statusList, "StatusId", "Name", selectedStatusId);
return statusSelectList;
}
private SelectList GetTeamSelectList(int selectedTeamId)
{
List<MemberTeam> teamList = _memberTeamRepository.All().ToList();
teamList.Insert(0, new MemberTeam { TeamId = 0, Name = "All" });
var teamSelectList = new SelectList(teamList, "TeamId", "Name", selectedTeamId);
return teamSelectList;
}
कैसे एक एकल विधि में इन refactor करने के लिए किसी को भी मदद आंकड़ा बाहर कर सकते हैं?
आप उन वर्गों अर्थात एक अंतरफलक जोड़ने संपादित करने में सक्षम हैं? –
हाँ ... दोनों _memberTeamRepostiory और _memberStatusRepository एक IRepository इंटरफ़ेस को लागू। यही कारण है कि इंटरफेस सभी IQueryable सभी() जो केवल दिया TEntity की _dbSet रिटर्न की तरह उपाय अपना सकते हैं डीबी के साथ बातचीत करने के तरीकों है। –
bigmac
सदस्य टीम और सदस्यस्टैटस के बारे में - क्या आप उन्हें सीधे या आंशिक कक्षाओं के साथ संशोधित कर सकते हैं? – foson