"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सी# | एंटिटी फ्रेमवर्क के साथ उपज का उपयोग करना

सी# | एंटिटी फ्रेमवर्क के साथ उपज का उपयोग करना

2024-08-06 को प्रकाशित
ब्राउज़ करें:922

C# | Using yield with Entity Framework

टिप्पणी
आप मेरी निजी वेबसाइट पर अन्य पोस्ट देख सकते हैं: https://hbolajraf.net

एंटिटी फ्रेमवर्क के साथ C# में यील्ड का उपयोग करना

सी# में, यील्ड कीवर्ड का उपयोग इटरेटर बनाने के लिए किया जाता है। यह आपको एक समय में एक मान का अनुक्रम वापस करने की अनुमति देता है, जो बड़े डेटा सेट के साथ काम करते समय विशेष रूप से उपयोगी होता है या जब आप आलस्य से मान उत्पन्न करना चाहते हैं। इस गाइड में, हम यह पता लगाएंगे कि डेटा को कुशलतापूर्वक पुनर्प्राप्त करने और हेरफेर करने के लिए एंटिटी फ्रेमवर्क के साथ उपज का उपयोग कैसे करें।

उपज को समझना

इटरेटर विधि को परिभाषित करते समय उपज कीवर्ड का उपयोग अक्सर C# में किया जाता है। यह आपको पूरे सेट को एक बार में मेमोरी में लोड किए बिना मानों का अनुक्रम वापस करने की अनुमति देता है। इसके बजाय, यह अनुरोध के अनुसार तुरंत प्रत्येक मान उत्पन्न करता है।

  • एक पुनरावर्तक विधि अनुक्रम में प्रत्येक आइटम का उत्पादन करने के लिए उपज रिटर्न स्टेटमेंट का उपयोग करती है।
  • कॉलिंग कोड फ़ोरैच लूप या अन्य गणना विधियों का उपयोग करके अनुक्रम पर पुनरावृत्त हो सकता है।
  • विधि की स्थिति कॉल के बीच संरक्षित रहती है, इसलिए यह वहीं जारी रहती है जहां इसे छोड़ा गया था।

एंटिटी फ्रेमवर्क के साथ उपज का उपयोग करना

एंटिटी फ्रेमवर्क एक ऑब्जेक्ट-रिलेशनल मैपिंग (ओआरएम) फ्रेमवर्क है जो आपको C# का उपयोग करके डेटाबेस के साथ काम करने की अनुमति देता है। आप डेटाबेस से डेटा को कुशलतापूर्वक पुनर्प्राप्त और संसाधित करने के लिए यील्ड को एंटिटी फ्रेमवर्क के साथ जोड़ सकते हैं।

यहां एंटिटी फ्रेमवर्क के साथ उपज का उपयोग करने का तरीका बताया गया है:

  1. एक एंटिटी फ्रेमवर्क डेटा संदर्भ बनाएं: एक एंटिटी फ्रेमवर्क डेटा संदर्भ परिभाषित करें जो आपके डेटाबेस से जुड़ता है।

  2. एक क्वेरी विधि को परिभाषित करें: एक ऐसी विधि बनाएं जो यील्ड कीवर्ड का उपयोग करके एक IEnumerable लौटाती है। यह विधि आपकी क्वेरी का प्रतिनिधित्व करेगी।

  3. क्वेरी विधि का उपयोग करें: डेटा पुनर्प्राप्त करने के लिए क्वेरी विधि को कॉल करें। चूंकि यह यील्ड का उपयोग करता है, इसलिए डेटा को एक समय में एक आइटम स्ट्रीम किया जाएगा, जिससे मेमोरी उपयोग कम हो जाएगा।

उदाहरण: यील्ड और एंटिटी फ्रेमवर्क के साथ डेटा पुनर्प्राप्त करना

आइए डेटाबेस से उत्पादों की सूची पुनर्प्राप्त करने के लिए एंटिटी फ्रेमवर्क के साथ उपज का उपयोग कैसे करें इसका एक उदाहरण देखें।

public class Product
{
    public int ProductId { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

public class MyDbContext : DbContext
{
    public DbSet Products { get; set; }
}

public class ProductRepository
{
    private readonly MyDbContext dbContext;

    public ProductRepository(MyDbContext context)
    {
        dbContext = context;
    }

    public IEnumerable GetProducts()
    {
        foreach (var product in dbContext.Products)
        {
            yield return product;
        }
    }
}

इस उदाहरण में, GetProducts विधि एक समय में डेटाबेस से उत्पादों को स्ट्रीम करने के लिए उपज का उपयोग करती है, जिससे मेमोरी की खपत कम हो जाती है।

आगे क्या?

एंटिटी फ्रेमवर्क के साथ यील्ड कीवर्ड का उपयोग करने से आपको एक समय में एक आइटम को स्ट्रीम करके डेटाबेस से बड़े डेटा सेट के साथ कुशलतापूर्वक काम करने में मदद मिल सकती है। C# अनुप्रयोगों में डेटा के साथ काम करते समय यह दृष्टिकोण बेहतर प्रदर्शन और मेमोरी उपयोग को कम कर सकता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/hbolajraf/c-using-yield-with-entity-framework-1973 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3