2013-02-04 24 views
16

मैं डेटा संग्रहीत करने के लिए Azure तालिका संग्रहण का उपयोग कर रहा हूं। मैं सम्मिलित हो रहा हूं कि जब सम्मिलित करें या प्रतिस्थापित करें और सम्मिलित करें या मर्ज करें। मैं Azure एसडीके 1.7 का उपयोग कर रहा हूँ।सम्मिलित करें या इकाई को मर्ज करें और सम्मिलित करें या प्रतिस्थापित करें

सम्मिलित या प्रतिस्थापन पर मेरी समझ पिछली इकाई की पूरी संपत्ति को नई इकाई के साथ बदलती है यदि इकाई मौजूद है। अगर नई इकाई संपत्ति को परिभाषित नहीं करती है या संपत्ति मूल्य शून्य नहीं है तो उस संपत्ति को अद्यतन करने पर हटा दिया जाएगा।

जबकि डालने या मर्ज में, पुराने गुणों को तब तक बनाए रखा जाएगा जब नई इकाई नई इकाई में नई गुणों को परिभाषित नहीं करती है। क्या मेरी समझ सही है?

महेंद्र

उत्तर

16

हाँ! आपकी समझ सही है।

आप एक सही connectionString और tableName साथ निम्नलिखित सी # कोड चलाकर यह परीक्षण कर सकते हैं:

{ 
    PartitionKey = "partition", 
    RowKey = "row", 
    MyString = "randomString", 
    MySecondString = "randomSecondString" 
} 
:

class MyEntity : TableEntity 
{ 
    public string MyString { get; set; } 
} 

class MySecondEntity : TableEntity 
{ 
    public string MySecondString { get; set; } 
} 

public void MergeTest() 
{ 
    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString); 
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); 
    CloudTable table = tableClient.GetTableReference(tableName); 
    table.CreateIfNotExists(); 
    // Insert an entity 
    table.Execute(TableOperation.Insert(new MyEntity() 
    { PartitionKey = "partition", RowKey = "row", MyString = "randomString" })); 
    // Merge with a different class 
    table.Execute(TableOperation.InsertOrMerge(new MySecondEntity() 
    { PartitionKey = "partition", RowKey = "row", MySecondString = "randomSecondString" })); 
} 

आप निम्नलिखित गुणों के साथ अपनी तालिका में एक इकाई के साथ समाप्त होना चाहिए