2009-06-15 13 views
6

मुझे लगता है कि पूर्णांकउजागर enum टाइप किया गुण

लिखे जाते हैं क्षेत्रों के साथ एक इकाई है और मैं गुण जो मिलता है और enum प्रकार मान प्राप्त के रूप में उन क्षेत्रों उजागर करना चाहते हैं दृढ़ता से टाइप करने के लिए काम करने के लिए।

इसलिए मैंने इकाई के लिए एक नया आंशिक वर्ग बनाया है और दो गुणों को जोड़ा है।

जब मैं परिवर्तन मैं निम्न अपवाद प्राप्त TestEntity का एक नया उदाहरण बना सकते हैं और संदर्भ के लिए इसे जोड़ने, और कॉल करने के लिए बचाने के लिए प्रयास करें:

कोई त्रुटि इस अनुरोध संसाधित करते समय उत्पन्न हुई। System.Data.Services.Client.DataServiceContext.SaveAsyncResult.HandleBatchResponse() System.Data.Services.Client.DataServiceContext.SaveAsyncResult.EndRequest() System.Data.Services.Client.DataServiceContext.SaveChanges पर पर पर (SaveChangesOptions विकल्प) System.Data.Services.Client.DataServiceContext.SaveChanges पर ()

भीतरी अपवाद है:

System.InvalidOperationException: प्रकार 'enum1' नहीं settable गुण है। System.Data.Services.Client.ClientType..ctor (प्रकार का प्रकार, स्ट्रिंग प्रकार नाम, बूलियन स्किपसेट करने योग्य चेक) सिस्टम पर। डेटा। डेटा। क्लाइंट.क्लिएंट टाइप करें। (टाइप प्रकार, बूलियन उम्मीद मॉडेल टाइप) सिस्टम.डाटा पर पर। Services.Client.DataServiceContext.WriteContentProperties (XmlWriter लेखक, क्लाइंट टाइप प्रकार, ऑब्जेक्ट संसाधन) System.Data.Services.Client.DataServiceContext.CreateRequestData (संसाधन बॉक्स बॉक्स, बूलियन न्यूलाइन) System.Data.Services.Client.DataServiceContext.SaveAsyncResult पर .CreateChangeData (Int32 सूचकांक, बूलियन newline) System.Data.Services.Client.DataServiceContext.SaveAsyncResult.BeginNextChange पर (बूलियन replaceOnUpdate)

इसलिए मुझे लगा कि यह कक्षा गुणों के रूप में enum गुणों को प्रतिबिंबित करने की कोशिश करता है। जब मैं उन पर प्रतिबिंबित करने का प्रयास करता हूं तो संदर्भ उन गुणों को अनदेखा कर सकता हूं।

मैं वीएस 2008 टीम सूट एसपी 1, एसक्यूएल सर्वर 2008, नेट 3.5 एसपी 1 का उपयोग कर रहा हूं।

सहायता।

आंशिक वर्ग कोड:

public partial class TestEntity 
{  
    public enum1 Field1 
    { 
     get 
     { 
      return (enum1)field1; 
     } 
     set 
     { 
      field1 = (Int16)value; 
     } 
    } 

    public enum2 Field2 
    { 
     get 
     { 
      return (enum2)field2; 
     } 
     set 
     { 
      field2 = (Int16)value; 
     } 
    } 
}  
+0

क्या आपको इसके लिए कोई काम मिल गया था? – Ram

उत्तर

2

मुझे नहीं लगता कि आप कर सकते हैं कि। ADO.Net डेटा सेवाओं में, आपके पास प्रॉक्सी ऑब्जेक्ट्स पर एन्म्स नहीं हो सकते हैं जो सर्वर पर भेजे जाते हैं। इसके बजाय एक int (या छोटा) का उपयोग करने के लिए अपने ऑब्जेक्ट को बदलने का प्रयास करें।

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