2012-05-09 19 views
5

मैं वर्तमान में ईएफ 5 कोड का उपयोग कर एक बिलिंग एप्लिकेशन लिख रहा हूं, और जब मैं एप्लिकेशन चला रहा हूं तो मैं एक त्रुटि में भाग रहा हूं।इकाई फ्रेमवर्क 5 अमान्य कॉलम नाम त्रुटि

इस प्रकार प्रश्न में डेटाबेस वस्तु है:

[Table("Client")] 
public class ClientBase 
{ 
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int ClientID { get; set; } 

    [Required] 
    public string ClientName { get; set; } 

    [Required] 
    public bool IsActive { get; set; } 

    [Required] 
    public string ClientContactName { get; set; } 

    [Required] 
    public string ClientContactEmail { get; set; } 

    [Required] 
    public DateTime ClientStartDate { get; set; } 

    [Required] 
    public string SalesforceID { get; set; } 

    public DateTime TerminatedDate { get; set; } 

    public string ClientStreet { get; set; } 

    public string ClientCity { get; set; } 

    public string ClientState { get; set; } 

    public int? ClientZipCode { get; set; } 

    public virtual List<PropertyBase> Properties { get; set; } 

    public virtual List<ClientCharge> ClientDefaultCharges { get; set; } 

} 

मैं हाल ही में उन क्षेत्रों में से एक गुच्छा (ClientStartDate से ClientZipCode करने के लिए नीचे सभी नए कर रहे हैं) जोड़ा, और जब भी मैं आवेदन मैं निम्नलिखित त्रुटि मिलती है चलाने :

{"Invalid column name 'ClientStartDate'.\r\nInvalid column name 'SalesforceID'.\r\nInvalid column name 'TerminatedDate'.\r\nInvalid column name 'ClientStreet'.\r\nInvalid column name 'ClientCity'.\r\nInvalid column name 'ClientState'.\r\nInvalid column name 'ClientZipCode'."} 

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

क्या गलत हो रहा है इसके बारे में कोई विचार?

संपादित करें: ठीक है, जाहिर है कि एक बात मैं उल्लेख करना भूल गया था: SalesforceID एक विदेशी कुंजी नहीं है। जोड़े गए कॉलम में से कोई भी वास्तव में एफके थे। वे सिर्फ सादे मैदान हैं।

+0

क्या आप इसे बाहर निकालने को समाप्त कर चुके हैं? –

+0

मैंने वास्तव में किया था। मुझे अद्यतन पोस्ट करने के लिए याद दिलाने के लिए धन्यवाद। – IronMan84

+0

मुझे जवाब चाहिए !! @ IronMan84 – Aditi

उत्तर

9

संक्षेप में, अपने [आवश्यक] डेटटाइम फ़ील्ड को शून्य (डेटटाइम?) बनाने पर विचार करें। यदि आप स्टैकट्रैक और किसी भी प्रारंभिक कोड के बारे में अधिक जानकारी प्रदान करते हैं तो यह सहायक होगा।

[Required] 
public DateTime? ClientStartDate { get; set; } 
+0

क्या आप कोई स्पष्टीकरण दे सकते हैं? यह समाधान होने के लिए अजीब लगता है! – noelicus

1

मेरा संदेह यह है कि SalesforceID समस्या पैदा कर रहा है। सभी नए कॉलम को हटाने का प्रयास करें और उन्हें एक बार में एक साथ जोड़कर, त्रुटियों की जांच करते समय जाएं। यदि समस्या वास्तव में SalesforceID के साथ है, तो this इसे हल कर सकता है।

+0

हालांकि यह एफके नहीं है। और मैंने एक समय में एक के साथ कोशिश की है, और यह अभी भी सभी विफल रहता है। – IronMan84

+0

हम्म ... यहां देखने के लिए कुछ और चीजें हैं। क्या समस्या केवल इस वर्ग तक ही सीमित है? तालिका नाम को संशोधित करने वाले डेटा एनोटेशन वाले वर्ग? क्या आप एक समान वर्ग बना सकते हैं लेकिन नाम बदल सकते हैं और देख सकते हैं कि आपको अभी भी त्रुटि मिल रही है या नहीं? ईएफ के गैर-बीटा संस्करण का प्रयोग करें? –

+0

मेरे पास एक ही एनोटेशन के साथ अन्य कक्षाएं हैं जो काम करती हैं। और मैं वापस ईएफ 4.3 पर स्विच किया। अब तक कुछ भी नहीं। – IronMan84

6

मेरे मामले में यह त्रुटि हुई क्योंकि मैं अपने परीक्षण डेटाबेस के खिलाफ अपना ईडीएमएक्स अपडेट कर रहा था और उत्पादन डेटाबेस के खिलाफ अपना कोड चला रहा था।

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