2011-05-11 21 views
43

के साथ एकाधिक प्राथमिक कुंजी मैं एएसपीनेट एमवीसी 3 का उपयोग कर रहा हूं, और मुझे तालिका में डेटा डालने का प्रयास करते समय एक इकाई के साथ समस्या है जिसमें 2 प्राथमिक कुंजी होती है।एएसपीनेट एमवीसी 3

public class LineItem 
    { 
     [Key] 
     public int OrderId { get; set;} 
     [Key] 
     public int LineNum { get; set;} 
     public string ItemId { get; set;} 
     public int Quantity { get; set;} 
     public decimal UnitPrice { get; set; } 

    } 

जब मैं मैं यह त्रुटि आई सम्मिलित करने के लिए प्रयास करें:

के लिए प्रकार 'ApplicationMVC3.Models.LineItem' समग्र प्राथमिक कुंजी क्रम निर्धारित करने में असमर्थ। समग्र प्राथमिक कुंजी के लिए ऑर्डर निर्दिष्ट करने के लिए कॉलम एट्रिब्यूट या हैस्की विधि का उपयोग करें।

कोई मेरी मदद कर सकता है !!

उत्तर

70

मान लीजिए यह वास्तव में एक समग्र कुंजी है, क्योंकि आपके पास 2 प्राथमिक कुंजी नहीं हो सकती हैं ... त्रुटि संदेश आपको बताता है कि क्या करना है, अर्थात् एक ऑर्डर जोड़ें। आप अपने कुंजी कॉलम में [Column(Order = 0)] और [Column(Order = 1)] जोड़ कर ऐसा कर सकते हैं।

अपने उदाहरण के लिए:

public class LineItem 
    { 
     [Key][Column(Order = 0)] 
     public int OrderId { get; set;} 
     [Key][Column(Order = 1)] 
     public int LineNum { get; set;} 
     public string ItemId { get; set;} 
     public int Quantity { get; set;} 
     public decimal UnitPrice { get; set; } 

    } 
+3

धन्यवाद आपकी मदद के लिए, मैं जोड़ने के इस [Key] [कॉलम (आदेश = 0)] सार्वजनिक पूर्णांक OrderID {मिल; सेट;} [कुंजी] [कॉलम (ऑर्डर = 1)] सार्वजनिक int LineNum {get; सेट;} और सिस्टम को हल किया गया था – Sarroura

+5

System.ComponentModel.DataAnnotations.Schema; – Trevor

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