2011-06-09 18 views
13

एक और 'इकाई प्रकार' x 'में कोई महत्वपूर्ण परिभाषित' प्रश्न नहीं है, लेकिन मैंने संपत्ति पर [Key] विशेषता सेट की है, इसलिए मैं थोड़ा उलझन में हूं।इकाई प्रकार में कोई कुंजी परिभाषित नहीं है

यहाँ मेरी इकाई और संदर्भ वर्गों है:

enter image description here

:

namespace DoctorDB.Models 
{ 
    public class Doctor 
    { 
     [Key] 
     public string GMCNumber; 
     [Required] 
     public string givenName; 
     [Required] 
     public string familyName; 
     public string MDUNumber; 
     public DateTime MDUExpiry; 
     public string MDUCover; 
    } 

    public class DoctorContext : DbContext 
    { 
     public DbSet<Doctor> Doctors { get; set; } 
    } 
} 

जब मैं अपने नियंत्रक बनाने के लिए जाना है, मैं इस इकाई और संदर्भ का उपयोग करते हुए इकाई की रूपरेखा के तरीकों के साथ इसे बनाने का निर्णय किया है

और मैं इस त्रुटि मिलती है:

enter image description here

मेरा एकमात्र विचार यह है कि क्या आप स्ट्रिंग प्रॉपर्टी पर सफलतापूर्वक [कुंजी] का उपयोग नहीं कर सकते हैं। यदि आप पर्याप्त निष्पक्ष नहीं कर सकते हैं, तो मैं इसके चारों ओर काम करूंगा, लेकिन अगर कोई इस तरह से पुष्टि कर सकता है तो मैं आभारी रहूंगा।

उत्तर

16

आपको किसी संपत्ति के लिए GMCNumber बदलने की आवश्यकता है।

+0

मेरे मॉडल उस में गुण, नहीं फ़ील्ड हैं

यहाँ एक रेप्रो है। और मुझे एक ही त्रुटि मिल रही है। सुझाव? – Zeeshan

+0

मैं सुझाव दूंगा कि आप अपना कोड और पूर्ण त्रुटि संदेश पोस्ट करने के अपने प्रश्न पूछें। – codingbadger

12

इस लाइन मदद करने के लिए स्पष्ट,: बनने के लिए

public string GMCNumber;

जरूरतों:

public string GMCNumber { get; set; }

3

मैं एक ही त्रुटि संदेश का सामना करना पड़ा जब मैं निजी रूप में संपत्ति परिभाषित किया था।

1

आज मैं इसी तरह के मुद्दे का सामना करने के बाद इस पोस्ट में भाग गया। समस्या यह थी कि मैं अपने मॉडल में [कुंजी] विशेषता जोड़ने और संकलन किए बिना मचान बनाने का प्रयास कर रहा था। एक बार जब मैंने [कुंजी] विशेषता के साथ संकलित किया तो मचान उत्पन्न हुआ।

0

मुझे वही त्रुटि मिलती है जब मैं ऐसी संपत्ति का उपयोग करता हूं जो [कुंजी] के लिए स्ट्रिंग नहीं है।

public class Doctor 
{ 
    [Key] 
    public Identity ID { get; set; }  
    public string Address { get; set; } 
} 

public class Identity 
{ 
    [Key] 
    public string GivenName { get; set; } 
    [Key] 
    public string FamilyName { get; set; } 
} 

त्रुटि का निर्माण समय पर नहीं होता है, लेकिन जब साइट लोड:

An exception of type 'System.InvalidOperationException' occurred in System.Web.OData.dll but was not handled in user code

Additional information: The entity 'Doctor' does not have a key defined.

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