का उपयोग कर सरकारी C# MongoDB में एक द्विदिश रिश्ते के साथ एक वस्तु को बचाने मैं इस तरह दो वर्ग है:ड्राइवर
public Class Company
{
public IList<Employee> Employees;
}
public Class Employee
{
public Company WorkPlace;
}
जब मैं कक्षा कंपनी का एक उद्देश्य सहेजना चाहते:
MongoDatabase Database = MongoServer.GetDatabase("db");
var workPlace = new Company();
var employee = new Employee { WorkPalce = workPlace}
workPlace.Employees = new List<Employee>{ employee };
Database.GetCollection<Company>("company").Save(workPlace);
Stackoverflow अपवाद फेंक दिया जाएगा।
प्रोत्साहन-ओपनसोर्स/अगर मैं बजाय एक आईडी के साथ कंपनी को वापस संदर्भित करने के लिए कर्मचारी वर्ग बदलने के लिए:
https://github.com/impetus-opensource/Kundera [email protected] पर Kundera-उदाहरण पर एक नज़र एक ऑब्जेक्ट संदर्भ, इसलिए जब मेरे पास कर्मचारी की एक सूची है और सूची को पुन: सक्रिय करें और प्रत्येक कर्मचारी की कंपनी का उपयोग करना चाहते हैं, तो प्रत्येक के लिए एक क्वेरी उत्पन्न की जाएगी। यह धीमा हो जाएगा, मत बनो? –
@ ओमिडआरएच: हां, यह आम तौर पर तुलनात्मक रूप से धीमा होगा। कम करने के लिए कई रणनीतियां हैं, लेकिन यह इस बात पर निर्भर करती है कि आप वास्तव में क्या हासिल करना चाहते हैं। उदाहरण के लिए, यदि आपको प्रत्येक कर्मचारी के लिए कंपनी का नाम प्रदर्शित करने की आवश्यकता है, तो आप कंपनी के नाम को कर्मचारी को कॉपी करना चाहेंगे। कर्मचारियों और उनकी कंपनी के नामों की एक सूची प्रदर्शित करना तब आसान है, लेकिन जब कंपनी का नाम बदलता है, तो आपको सभी कर्मचारियों को अपडेट करना होगा। इसे डी-सामान्यीकरण कहा जाता है। NoSql में, डेटा संरचना को आकार देने के लिए आपको आवश्यक प्रश्नों को, डेटा को स्टोर करने के लिए आवश्यक नहीं है। – mnemosyn