2009-04-14 14 views
16

के साथ एक (एसक्यूएल सर्वर) एक्सएमएल कॉलम का उपयोग करना क्या किसी ने एंटिटी फ्रेमवर्क के साथ एक्सएमएल टाइप किए गए कॉलम का उपयोग करने का प्रयास किया है? इकाई एक स्ट्रिंग देता है।एंटिटी फ्रेमवर्क

इकाई फ्रेमवर्क का अगला संस्करण XElement प्रकारों का समर्थन करेगा जब तालिका कॉलम XML प्रकार का होता है।

सम्मान।

उत्तर

6

इकाई फ्रेमवर्क एक्सएमएल कॉलम सामग्री (टाइप या नहीं) स्ट्रिंग के रूप में लौटाता है ताकि यह एक्सएमएल दस्तावेज़ सामग्री (यह नोड्स) से एक इकाई नहीं बना सके ... यदि आप अभी भी उत्सुक हैं इस लेख को पढ़ते हैं, तो यह संभव है आपकी समस्या का समाधान .. मैंने कोशिश नहीं की है (link text)

मार्क के आखिरी प्रश्न का उत्तर देने के लिए .. जो मुझे ईएफ के अगले संस्करण में देखने की उम्मीद है, वह एक्सएमएल दस्तावेजों की सामग्री को इकाइयों के रूप में मैप करने की संभावना है, जैसे यह सामान्य तालिकाओं और उनके बीच संबंधों के साथ करता है .. या कम से कम एक्सएमएल दस्तावेज़ के हिस्सों को इकाइयों में गुणों के रूप में बनाने के लिए ..

2

मैं अब क्या कर रहा हूं, मैं आंशिक कक्षा में एक विधि जोड़ रहा हूंमेरे मॉडल से मेल खाता है जिसमें एक स्ट्रिंग के रूप में एक .ata संपत्ति है।

अनिवार्य रूप से आपके पास कॉल इंस्टेंस है। यूसेडाटा (डेटा) => {...});

लैम्ब्डा अभिव्यक्ति के भीतर से आप डेटा को पढ़/कुशल बना सकते हैं और यह डेटाबेस के लिए मूल फ़ील्ड पर वापस सहेजता है ... मुझे बस इसके लिए एक संपत्ति बनाने में सक्षम होना पसंद है, जो कि बाध्य है संबंधित क्षेत्र को अद्यतन करने के लिए घटना।

मैं XML के रूप में डेटा क्षेत्र में और अधिक गतिशील संरचना धकेल कर रहा हूँ ... इस VB.Net में और अधिक स्वाभाविक है कि सी # .. मैं JSON के पक्ष में झुका जा सकता है, तो अपने प्रोजेक्ट सी # में थे है ...

सी #

public void UseData(Action editor) 
{ 
    var def = XElement.Parse(""); 
    XElement data; 
    try 
    { 
     if (String.IsNullOrWhiteSpace(this.Data)) 
     { 
      data = def; 
     } 
     else 
     { 
      data = XElement.Parse(this.Data); 
     } 
    } 
    catch (Exception ex) 
    { 
     data = def; 
    } 
    editor(data); 
    this.Data = data.ToString(); 
}

VB.Net

Public Sub UseData(editor As Action(Of XElement)) 
    Dim def = 
    Dim data As XElement 
    Try 
     If String.IsNullOrWhiteSpace(Me.Data) Then 
      data = def 
     Else 
      data = XElement.Parse(Me.Data) 
     End If 
    Catch ex As Exception 
     data = def 
    End Try 
    editor(data) 
    Me.Data = data.ToString() 
End Sub

संबंधित मुद्दे