2011-05-11 12 views
6

मुझे अपने ईएफ आंशिक कक्षाओं को विस्तारित करने की आवश्यकता है, क्योंकि मैं ओरेकल के अनुक्रमों का उपयोग करने में सक्षम होने के लिए कुछ कार्यक्षमता जोड़ना चाहता हूं, हालांकि मुझे वास्तव में यह नहीं पता कि इस आंशिक वर्ग की चीज़ का उपयोग कैसे करें I इस प्रकार एक अलग .cs फ़ाइल और मेरे स्वत: जनरेट वर्गों में से एक के रूप में यह नाम बना दिया: - संदर्भ देता है जो GlassStoreDAL -ईएफ 4, आंशिक कक्षाओं को जोड़ने के लिए

namespace GlassStoreDAL 
{ 
    public partial class CAR 
    { 
     private int _sequences; 
     public int sequences 
     { 
      get { return _sequences; } 
      set { _sequences = value; } 
     } 
    } 
} 

अब मुझे लगता है कि, मेरे BLL पर ग्रहण मैं अपने "दृश्यों" संपत्ति प्राप्त कर सकते हैं, लेकिन स्पष्ट रूप से कुछ गलत हो जाता है, मैं यहां किसी भी मदद की सराहना करता हूं।

यहां मेरी जेनरेट की गई आंशिक कक्षा है, क्या मेरे पास अनुक्रम संपत्ति भी होनी चाहिए?

[EdmEntityTypeAttribute(NamespaceName="Model", Name="CAR")] 
[Serializable()] 
[DataContractAttribute(IsReference=true)] 
public partial class CAR : EntityObject 
{ 
    #region Factory Method 
    /// <summary> 
    /// Create a new CAR object. 
    /// </summary> 
    /// <param name="id">Initial value of the ID property.</param> 
    public static CAR CreateCAR(global::System.Decimal id) 
    { 
     CAR cAR = new CAR(); 
     cAR.ID = id; 
     return cAR; 
    } 

    #endregion 
    #region Primitive Properties 

    /// <summary> 
    /// No Metadata Documentation available. 
    /// </summary> 
    [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] 
    [DataMemberAttribute()] 
    public global::System.Decimal ID 
    { 
     get 
     { 
      return _ID; 
     } 
     set 
     { 
      if (_ID != value) 
      { 
       OnIDChanging(value); 
       ReportPropertyChanging("ID"); 
       _ID = StructuralObject.SetValidValue(value); 
       ReportPropertyChanged("ID"); 
       OnIDChanged(); 
      } 
     } 
    } 

    private global::System.Decimal _ID; 
    partial void OnIDChanging(global::System.Decimal value); 
    partial void OnIDChanged(); 

    /// <summary> 
    /// No Metadata Documentation available. 
    /// </summary> 
    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] 
    [DataMemberAttribute()] 
    public global::System.String NAME 
    { 
     get 
     { 
      return _NAME; 
     } 
     set 
     { 
      OnNAMEChanging(value); 
      ReportPropertyChanging("NAME"); 
      _NAME = StructuralObject.SetValidValue(value, true); 
      ReportPropertyChanged("NAME"); 
      OnNAMEChanged(); 
     } 
    } 

    private global::System.String _NAME; 
    partial void OnNAMEChanging(global::System.String value); 
    partial void OnNAMEChanged(); 

    /// <summary> 
    /// No Metadata Documentation available. 
    /// </summary> 
    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] 
    [DataMemberAttribute()] 
    public global::System.String MODEL 
    { 
     get 
     { 
      return _MODEL; 
     } 
     set 
     { 
      OnMODELChanging(value); 
      ReportPropertyChanging("MODEL"); 
      _MODEL = StructuralObject.SetValidValue(value, true); 
      ReportPropertyChanged("MODEL"); 
      OnMODELChanged(); 
     } 
    } 

    private global::System.String _MODEL; 
    partial void OnMODELChanging(global::System.String value); 
    partial void OnMODELChanged(); 

    #endregion 

    #region Navigation Properties 

    /// <summary> 
    /// No Metadata Documentation available. 
    /// </summary> 
    [XmlIgnoreAttribute()] 
    [SoapIgnoreAttribute()] 
    [DataMemberAttribute()] 
    [EdmRelationshipNavigationPropertyAttribute("Model", 
     "SYS_C009618", "GLASS")] 
    public EntityCollection<GLASS> GLASSes 
    { 
     get 
     { 
      return ((IEntityWithRelationships)this).RelationshipManager. 
       GetRelatedCollection<GLASS>("Model.SYS_C009618", "GLASS"); 
     } 
     set 
     { 
      if ((value != null)) 
      { 
       ((IEntityWithRelationships)this).RelationshipManager. 
        InitializeRelatedCollection<GLASS>("Model.SYS_C009618", 
         "GLASS", value); 
      } 
     } 
    } 

    #endregion 
} 
+0

एक ही विधानसभा में दोनों partials हैं? – forsvarir

+0

हाँ, अगर यू एक ही विधानसभा से मतलब है, एक ही DLL परियोजना – Musaab

+0

दोनों वर्गों आंशिक रूप/एक ही नाम स्थान में घोषित कर रहे हैं? – forsvarir

उत्तर

9

बड़े टिप्पणी निशान संक्षेप में ...

चेक कि partials एक साथ सही ढंग से संलग्न किया जा रहा है:

  • सुनिश्चित करें कि दोनों वर्ग परिभाषाएँ एक ही नाम स्थान और विधानसभा में हैं।
  • सुनिश्चित करें कि उनमें से कम से कम एक आंशिक घोषित किया गया है (अधिकांश जेनरेट किए गए वर्ग ईएफ जेनरेट किए गए हैं)।
  • यह सुनिश्चित करने के लिए जांचें कि नव निर्मित आंशिक आंशिक मिलान की पुष्टि करने के लिए पिछले सदस्यों को देख सकते हैं।

कहाँ ग्राहक एक अलग बाइनरी में है (इस स्थिति यहाँ था)

  • सुनिश्चित करें कि ग्राहक परियोजनाओं द्विआधारी/संदर्भ तारीख तक कर रहे हैं (एक साफ निर्माण प्रदर्शन/बाइनरी प्रतिलिपि को हटाने/संदर्भ को फिर से बनाएं), आपकी परियोजना की स्थिति के आधार पर।

इस मामले के लिए, अंतिम जांच सबसे महत्वपूर्ण और समस्या हल हो गई थी।

+0

इस टिप्पणी को ध्यान में रखते हुए केवल टिप्पणियां ही हो सकती हैं, न कि सामान्य त्रुटि के साथ, केवल टाइपो त्रुटि के साथ। त्रुटि को ध्यान में रखते हुए, डाउन बटन पर क्लिक करने की प्रतिभा के साथ यह है। –

+6

@ पैटन क्रो: मुझे ईमानदार होना है, मुझे आपकी टिप्पणी समझ में नहीं आ रही है ... – forsvarir

+1

@ पेटन क्रो: यह समस्या का हल करने पर विचार करना बहुत हास्यास्पद है। – razlebe

6

आप सुनिश्चित करना चाहिए कि:

public partial class CAR 
{ 
    private int _sequences; 
    public int sequences 
    { 
     get { return _sequences; } 
     set { _sequences = value; } 
    } 
} 

अपने उत्पन्न एफई वर्ग में आप की आवश्यकता है:

public partial class CAR 
{ 
} 
  1. एफई उत्पन्न वर्ग के लिए आंशिक कीवर्ड जोड़ें।
  2. सुनिश्चित करें कि वे एक ही नामस्थान में रहते हैं।
+1

@Peyton क्रो काम किया @Mussab: आप अपने * जनित * एफई वर्ग से दृश्यों जानकारी निकाल देना चाहिए ... यह बनाता है यह देखने के लिए की तरह आप reimplement करने के लिए है जेनरेट कोड में संपत्ति ... – forsvarir

+0

अभी इसे हटा दिया गया है, अनुस्मारक के लिए धन्यवाद, यह एक उत्तर के रूप में थोड़ा उलझन में है। –

+0

@ पैटन क्रो: मैंने अपना -1 हटा दिया है, अब आपने भ्रामक कोड हटा दिया है। – forsvarir

1

एक ही असेंबली में एक अलग फ़ाइल में एक नई कक्षा बनाएं (हालांकि यह एक ही असेंबली नहीं है) और सुनिश्चित करें कि इसका नाम समान नाम है।

यदि वे दोनों एक ही असेंबली और नेमस्पेस में हैं तो आपको कोई समस्या नहीं होनी चाहिए। आपको पता चलेगा कि आपको यह सही मिला है जब आपने जो नया आंशिक बनाया है, वह स्रोत कोड संपादक के शीर्ष पर ड्रॉपडाउन में जेनरेट की गई ईएफ कक्षा के गुणों और विधियों को देख सकता है।

+0

ओह हाँ, ठीक है, मैं संपादक में अन्य गुण देख सकता हूं, समस्या तब होनी चाहिए जब मैं इसे अपने बीएलएल – Musaab

+0

ग्लासस्टोरडाल.CAR newCar = new CAR() पर संदर्भित करने का प्रयास कर रहा हूं; newCar। इस तरह मैं इसे अपने बीएलएल पर कर रहा हूं, मैं सभी गुण देख सकता हूं लेकिन "अनुक्रम" एक – Musaab

+0

@ मुसाबाब: बेवकूफ सवाल है, लेकिन आप * यकीन है कि यह वहां नहीं है और यह केवल इतना नहीं है कि इंटेलिजेंस पकड़ा नहीं गया है अभी तक? – forsvarir

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