मेरी इंटर्नशिप के लिए मैं एक प्रोग्राम बना रहा हूं जो पृष्ठभूमि पर डेटाबेस के साथ संचार करता है। कार्यक्रम एमवीसी (मॉडल-व्यू-कंट्रोलर) तरीके से स्तरित है।ऑब्जेक्ट ओरिएंटेड लिंक्स 2 एसक्यूएल क्वेरी क्लास
दृश्य के लिए मैं डेटा एसेस लेयर (डीएएल) नामक किसी चीज़ के माध्यम से डेटा तक पहुंचना चाहता हूं। क्योंकि उस दृश्य में न्यूनतम ज्ञान है, मैं चाहता हूं कि मैं उस क्वेरी के लिए आईडी पास करूं जिसे मैं कॉल करना चाहता हूं। कॉलिंग डीएएल के अंदर किया जाएगा। फिर आईडी के साथ मैं एक कक्षा से पूछना चाहता हूं जिसमें क्वेरी को वापस करने के लिए प्रश्नों को रखने के लिए डीएएल के अंदर निष्पादित किया जाए। कल्पना करने के लिए चित्र।
समस्या मैं अब मेरी पढ़ें समारोह में क्वेरी निष्पादित करने के लिए कैसे है।
public class DataAccesLayer
{
private Queries queryloader;
private RoadsoftDigitacV8DataContext db;
public DataAccesLayer()
{
queryloader = new Queries();
db = new RoadsoftDigitacV8DataContext();
}
public List Read(int ID)
{
IQueryable query;
query = queryloader.GetQuery(ID);
return query.ToList();
}
}
प्रश्नों वर्ग के लिए कोड::
public class Queries
{
private Dictionary<int, IQueryable object> queryDict;
private ErrorLoggerWinLog logger;
public Queries()
{
logger = ErrorLoggerWinLog.Instance();
queryDict = new Dictionary<int, IQueryable object>();
queryDict.Add(1, from d in db.Drivers
select d);
}
public object GetQuery(int ID)
{
var query;
if(queryDict.TryGetValue(ID, out query) == false)
{
logger.WriteLine("Queries", "Could not find the query specified", ErrorLoggerWinLog.loggerlevel.Error);
}
return query;
}
}
मैं सोच रहा हूँ, यह संभव है दाल के लिए कोड पीछा कर रहा है? अभी यह काम नहीं लग रहा है। मैं शायद कुछ भूल रहा हूं या कुछ महत्वपूर्ण याद कर रहा हूं। क्या किसी को इस तरह के सेट-अप के साथ कोई अनुभव है, या एक पूरी तरह से अलग समाधान को देखना चाहिए?
संपादित करें: अभी यह क्वेरी निष्पादित नहीं प्रतीत होता है, जैसे कि मैं फ़ंक्शन फ़ंक्शन में कमांड खो रहा हूं। हालांकि डेटाैकेंटेक्स्ट भरा हुआ है, यह प्रोग्राम के एक अलग सेक्शन में किया जा रहा है।
संपादित 2: अभी मैं आईरिपोजिटरी पैटर्न में देख रहा हूं, यह एक महान सीखने का अनुभव है, उन सभी को धन्यवाद जिन्होंने टिप्पणी करने और टिप्पणी करने के लिए समय लिया!
अच्छा प्रयास, चित्र के लिए +1 =] – Sean
हालांकि ..... वास्तव में क्या काम नहीं कर रहा है? – Sean
आपको अभी भी डीबी संदर्भ वस्तु को वास्तविक डेटाबेस से कनेक्ट करने की आवश्यकता होगी। जैसा कि आपके पास है, आपके पास एक असंबंधित संदर्भ है। फिर आपको संदर्भ के माध्यम से वास्तव में क्वेरी निष्पादित करने की आवश्यकता होगी। – ThaMe90