2010-01-15 11 views
5

के साथ int में enum को कैसे मैप करना है EFv1 में enum में int फ़ील्ड को मैप करने के लिए वैसे भी है? धन्यवाद! मैं चाहता हूं कि मेरी इकाई int फ़ील्ड के बजाय enum फ़ील्ड हो।ईएफ

उत्तर

6

दो गुण बनाएं। एक एक आवरण

[EdmScalarProperty] 
public int EnumPropInteger {get;set} 
public MyEnum EnumProp 
{ 
    get { return (MyEnum) EnumPropInteger; } 
    set { EnumPropInteger = (int)value; } 
} 

नहीं एक अच्छा तरीका के रूप में एफई, एक से मैप किया है क्योंकि आप दो सार्वजनिक संपत्तियों लेकिन एक रास्ता नहीं है।

+0

आप पूर्णांक संपत्ति, निजी आंतरिक, या संरक्षित होने के लिए सेट कर सकते हैं। – devlife

+2

और ईएफ इस संपत्ति का उपयोग कर सकते हैं? – Arthur

+0

@ आर्थर: क्या आप '[EdmScalarProperty] 'विशेषता के उद्देश्य को समझा सकते हैं? मैंने इसे देखा, लेकिन वास्तव में यह नहीं देखता कि यह यहां क्या जोड़ता है। –

-2

आप बस इस तरह Enum को पूर्णांक डाली कर सकते हैं:

public enum TestEnum 
{ 
Zero = 0, 
One, 
Two 
} 

TestEnum target = (TestEnum)1; 

लक्ष्य तो TestEnum.One शामिल करना चाहिए;

संपादित करें: मेरा बुरा, पहले ठीक से व्याख्या नहीं किया था। आप चाहते हैं कि नक्शा आपके लिए कास्ट को संभालने के लिए सही है? अभी यह नहीं पता, थोड़ा प्रयोग करना होगा।