c# - Navigation property without foreign key constraint -


मेरे पास संस्थाएं हैं:

  [तालिका ("मुद्रा")] सार्वजनिक वर्ग मुद्रा { [कुंजी] सार्वजनिक INF मुद्रा आईडी {प्राप्त करें; सेट; } सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक वर्ण प्रतीक {get; सेट; }} [तालिका ("इनवॉइस")] सार्वजनिक वर्ग चालान {[कुंजी] सार्वजनिक इंट इनवॉइस आईडी {प्राप्त; सेट; } सार्वजनिक आईआर मुद्रा आईडी {प्राप्त; सेट; } सार्वजनिक int राशि {get; सेट; } // सार्वजनिक वर्चुअल आइकलेंक्शन & lt; मुद्रा & gt; CurrencyList {get; सेट; }}   

मुझे डेटाबेस में मौजूद सभी संभव मुद्राओं को शामिल करने के लिए प्रत्येक इनवॉइस की आवश्यकता होती है। अगर मैं सिर्फ नेविगेशन प्रॉपर्टी को टिप्पणी की गई लाइन में सेट करता हूं, तो सिस्टम पूरी तरह से अपनी विदेशी कुंजी बाधा पैदा करने की कोशिश करता है जो वास्तव में मौजूद नहीं है और फिर एक त्रुटि देता है।
क्या कोई एफके के साथ नेविगेशन करने का कोई तरीका है?

मुझे विश्वास नहीं है कि एक नेविगेशन संपत्ति वह है जिसे आप ढूंढ रहे हैं। इस एमएसडीएन लेख ने गहराई में और अधिक नेविगेशन गुणों की चर्चा की है,

प्रत्येक ऑब्जेक्ट में प्रत्येक रिश्ते के लिए एक नेविगेशन गुण हो सकता है जिसमें यह भाग लेता है।

यह वाक्य विशेष रूप से और दो अनुभाग रिश्तों को संशोधित करने और रिश्तों को नेविगेट करना इस तथ्य को और अधिक बताते हैं कि ये गुण विशेष रूप से ईएफ रिश्तों के लिए हैं, अगर वहां दो ऑब्जेक्ट्स के बीच कोई रिश्ते नहीं हैं तो कोई नेविगेशन प्रॉपर्टी नहीं होनी चाहिए।

@ कैरोलॉस्फिगुइरा एक सहायक वर्ग के बारे में एक अच्छा विचार है, जिसे मैं सहमत हूं। लेकिन अपने कोडएफस्ट मॉडल में सहायक कोड जोड़ने के साथ अपने मुद्दों को सुनना

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

Comments

Popular posts from this blog

Verilog Error: output or inout port "Q" must be connected to a structural net expression -

jasper reports - How to center align barcode using jasperreports and barcode4j -

c# - ASP.NET MVC - Attaching an entity of type 'MODELNAME' failed because another entity of the same type already has the same primary key value -