Azure Table Storage upgrade -
मेरे पास एक एज़्यूर टेबल स्टोरेज है जो निम्न इकाई से है:
नमूनाइंटिटी: टेबलइन्टीटी {सार्वजनिक इंट एम्पायरइड {प्राप्त; सेट;}} और मैंने तालिका में 100 रिकॉर्ड डाला है। अब मेरे पास आवश्यकता में परिवर्तन है कि कर्मचारी आईडी स्ट्रिंग होना चाहिए। इसके अलावा मुझे मौजूदा 100 अभिलेखों को हटाया नहीं जाना चाहिए। इसलिए मैंने मौजूदा नमूनाइन्टीटी को निम्नानुसार बदल दिया है:
नमूनाइंटिटी: टेबलइन्टीटी {सार्वजनिक स्ट्रिंग EmployeeId {get; सेट करें;}} और मैंने तालिका में 50 पंक्तियों को कर्मचारी के रूप में स्ट्रिंग के रूप में डाला है।
अब जब मैं नया नमूनाएनेंटिटी के साथ टेबल पर गेटऑपरेशन करता हूं स्ट्रॉन्ज़ कर्मचारी आईडी), मुझे 150 पंक्तियाँ मिल रही हैं, लेकिन पुरानी नमूनायंटिटी का उपयोग करके पहली 100 पंक्तियों में EmployeeID के मूल्य 0 थे।
दूसरी ओर अगर मैं पुरानी नमूनाईटिटी पर स्विच करता हूं और एक GetOperaiton करता हूं, मुझे नई नमूनाई का उपयोग करके 50 पंक्तियों के लिए EmployeeID के लिए रिक्त मूल्य मिलते हैं।
मैं स्ट्रॉम्स में EmployeeId के लिए मूल्यों के साथ सभी 150 पंक्तियों में से एक नई नमूना इकाई का उपयोग कैसे कर सकता / सकती हूं? < P>
आप संभवत: क्या कर सकते हैं, पूर्णांक प्रकार की कर्मचारी प्रकार को बदलते हैं स्ट्रिंग । इसके लिए आपको क्या करना होगा, सभी संस्थाओं को DynamicTableEntity के रूप में प्राप्त करें और EmployeeId संपत्ति की संपत्ति प्रकार की जांच करें। यदि टाइप Int32 है, तो आप एक स्ट्रिंग टाइप EmployeeId संपत्ति के साथ एक नई इकाई बना सकते हैं और इसके मान को पुरानी इकाई के EmployeeId में सेट कर सकते हैं मान और उसके बाद मौजूदा इकाई को अपडेट करें (आप समान PartitionKey और RowKey रखेंगे)। उदाहरण के लिए नीचे नमूना कोड देखें :
// सभी संस्थाओं को प्राप्त करें और सुनिश्चित करें कि हम उन्हें गतिशील तालिका इकाई के रूप में प्राप्त करें Var क्वेरी = नया तालिकाएं (); Var allEntities = table.ExecuteQuery (क्वेरी); फोरछा (सभी एंटिटी में विविध इकाई) {var संपदा प्रकार = एंटिटी। प्रॉपर्टीज ["एम्प्लियरआईड"]। प्रॉपर्टी टाइप; If (propertyType == EdmType.Int32 & amp; amp; एंटिटी.प्रॉपर्टीज ["एम्प्लियरआईडी"]। Int32Value.HasValue) {// यह पूर्णांक प्रकार EmployeeId के साथ एक इकाई है हमें क्या करने की ज़रूरत है इस इकाई को एक नई इकाई के साथ अपडेट करें जहां कर्मचारी का डेटा प्रकार स्ट्रिंग है। Var कर्मचारीआईडी = एंटिटी। प्रॉपर्टीज़ ["कर्मचारीइड"]। Int32Value.Value; Var newEntityWithStringType = नया DynamicTableEntity () {PartitionKey = entity.PartitionKey, RowKey = entity.RowKey, ETag = "*"}; NewEntityWithStringType.Properties.Add ("कर्मचारी आईडी", नई इकाई प्रॉपर्टी (कर्मचारी आईडी। टॉस्ट्रिंग ())); टेबलऑपरेशन अपडेटऑपरेशन = टेबलऑपरेशन। रीप्ले (नया एंटीटीविथ स्ट्रिंग टाइप); table.Execute (updateOperation); }} उपरोक्त कोड मानता है कि आपके पास केवल एक गुण कर्मचारी आईडी है। यदि अधिक गुण हैं, तो कृपया उन्हें newEntityWithStringType गुणों में शामिल करना सुनिश्चित करें।
Comments
Post a Comment