2016-02-09 7 views
6

मुझे ईएफ 7 आरसी 1 के साथ समस्या है। मैं अपने मॉडल में enums के साथ काम करने में असमर्थ हूँ। मैं enum संपत्ति बचा सकते हैं। मूल्य int को डाला जाता है। मेरी समस्या यह है कि डेटा पढ़ने के दौरान मुझे अमान्य कास्ट अपवाद मिलता है।ईएफ 7 समर्थन enums करता है?

  1. क्या EF7 समर्थन enum गुण है?
  2. मैं इसे धाराप्रवाह एपीआई के साथ कैसे कॉन्फ़िगर कर सकता हूं?

धन्यवाद

संपादित करें:

enum:

public enum LimitMode 
    { 
     Max, 
     Min, 
     MaxAndMin, 
    } 

मॉडल:

public class SomeModel 
    { 
    (..) 
    public LimitMode LimitMode {get; set;} 
    } 

SomeModel के लिए ModelBuilder:

 modelBuilder.Entity<SomeModel>(entity => { 
      (...) 
      entity.Property(p => p.LimitMode); 
     }) 
+0

स्पष्ट रूप से कह enum किसी पूर्णांक 'सार्वजनिक enum LimitMode है का प्रयास करें: int' और enum के सदस्यों एक मूल्य (' मैक्स = 0, ... ') –

+0

मैं इस की कोशिश की है दे रही है। दुर्भाग्य से यह काम नहीं करता है। अभी भी अमान्य कास्ट अपवाद प्राप्त हो रहा है:/ – panJapa

+0

अजीब, ईएफ 6 में यह पूरी तरह से काम करता है। EF7 अभी तक पूरी तरह से रिलीज़ नहीं हुआ है, इसलिए यह अभी भी एक बग हो सकता है, या आपके पास अपने डेटाबेस में मान हैं जो आपके किसी भी enums से जुड़े नहीं हैं। यदि आपके enum मान 1-3 हैं और आपके डेटाबेस में 4 संग्रहीत हैं तो मुझे लगता है कि आपको वह त्रुटि मिल जाएगी। –

उत्तर

2

यह मेरे लिए काम किया। मैं प्रोजेक्ट.जेसन में "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final" का उपयोग कर रहा हूं। मॉडल को धक्का देने के हिस्से के रूप में मुझे ef माइग्रेशन डेटाबेस अपडेट चलाया गया था।

public class Person 
{ 
    public int PersonId { get; set; } 
    public string LastName { get; set; } 
    public string FirstName { get; set; } 
    public int PersonTypeId { get; set; } 
    public PersonType PersonType { get; set; } 
    public ActiveType ActiveType { get; set; } 
} 

public enum ActiveType 
{ 
    Active = 0, 
    Inactive = 1 
} 
+0

enum के साथ माइग्रेशन के बाद स्कीमा कैसा दिखता था? मैं पूछता हूं क्योंकि माइग्रेशन अभी MySQL के साथ किसी भी तरह से काम नहीं करता है इसलिए मुझे हाथ से स्कीमा बनाने की ज़रूरत है। –

+0

यह int कॉलम के रूप में स्थापित किया जाएगा –

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