को प्रारंभ करने के लिए मैंने अभी मोंगोडीबी (सी #) के साथ खेलना शुरू कर दिया और इकाई ढांचे से एक भंडार बंद करने की कोशिश की। मैं आधिकारिक सी # ड्राइवर 1.0 का उपयोग कर रहा हूँ।मोंगोडीबी के साथ रिपोजिटरी पैटर्न: डेटाबेस
internal class MongoContext
{
public MongoContext(string constring)
{
MongoServer server = MongoServer.Create(constring);
this.myDB = server.GetDatabase("MyDB");
BsonClassMap.RegisterClassMap<VoyageNumber>(cm =>
{ cm.MapField<string>(p => p.Id); });
BsonClassMap.RegisterClassMap<Schedule>(cm =>
{ cm.MapField<DateTime>(p => p.EndDate); cm.MapField<DateTime>(p => p.StartDate); });
BsonClassMap.RegisterClassMap<Voyage>(cm =>
{ cm.MapIdField<VoyageNumber>(p => p.VoyageNumber); cm.MapField<Schedule>(p => p.Schedule); });
}
private MongoDatabase myDB;
public MongoDatabase MyDB
{ get { return this.myDB; } }
}
मैं तो पर जाने के लिए और इस तरह भंडार को लागू करेंगे::
public class MongoVoyageRepository : IVoyageRepository
{
private readonly MongoContext context;
public MongoVoyageRepository(string constring)
{
this.context = new MongoContext(constring);
}
public void Store(Domain.Model.Voyages.Voyage voyage)
{
MongoCollection<Voyage> mongoVoyages = context.MyDB.GetCollection<Voyage>("Voyages");
//store logic...
}
}
अब मैं अगर यह एक अच्छा एक का दृष्टांत का निर्णय जानना चाहते हैं अब मैं कुछ इस तरह किया प्रदर्शन के संदर्भ में इस तरह "संदर्भ"। क्या वहां बोसन क्लास मैप्स डालने का अर्थ है? आपके इनपुट के लिए धन्यवाद।
यह काम करता है लेकिन मैंने इंस्टेंस प्रॉपर्टी को एक विधि में बदल दिया है जो एक कनेक्शन स्ट्रिंग स्वीकार करता है क्योंकि मैं रिपोजिटरी (आईओसी) में कनेक्शन स्ट्रिंग इंजेक्ट करना चाहता हूं। – hoetz
@ मलिकियर: मैं आईओसी एडीएन डी का भी उपयोग कर रहा हूं, सिर्फ 'इंस्टेंस' बनाया है क्योंकि कई देव को आईओसी, डीआई के बारे में पता नहीं है या यह अवांछित लगता है;) –
@AndrewOrsich कक्षा 'NoDefaultPropertyIdConvention' श्रेणी क्या है? –