मैं बस कुछ कोडवर्निंग (कन्स्ट्रक्टर्सशल्डनॉटकॉलबेस क्लास वर्चुअल मैथ्यूज) के बारे में सोच रहा था, और यदि ऐसा करने का एक बेहतर तरीका है। मेरे पास एक साधारण लॉग कलेक्टर क्लास है, और मैं कुछ ऑब्जेक्ट्स को पुनर्प्राप्त करने के लिए एनएचबीर्नेट का उपयोग कर रहा हूं।निबर्ननेट - सूचियां आरंभ करें - सर्वोत्तम अभ्यास?
कुछ बार मैं अपने आप से वस्तुओं (निश्चित रूप से) बना देता हूं और उन्हें दृढ़ता के लिए एनएचबीर्नेट में जोड़ता हूं। यह सुनिश्चित करने का सबसे अच्छा तरीका क्या है कि सूचियां कभी भी पूर्ण नहीं होती हैं।
वर्तमान में मैं यह कर रहा हूं, लेकिन यह "सही" नहीं लगता है। इस विषय पर कोई विचार?
public class LogRun
{
public virtual int Id { get; private set; }
public virtual DateTime StartTime { get; set; }
public virtual DateTime EndTime { get; set; }
public virtual IList<Log> LogMessages { get; set; }
public virtual int LogMessageCount { get { return LogMessages.Count; } }
public LogRun()
{
LogMessages = new List<Log>();
}
}
की तरह मैं एक ही पैटर्न का पालन छोड़कर मैं निर्माता में अपने सभी प्रारंभ करना होगा। इसके अतिरिक्त, आमतौर पर एड विधि में माता-पिता के संदर्भ को सेट करना आवश्यक है, यानी logMessages.Add (लॉग) जोड़ें; लॉग.लोग्रुन = यह; –
मैं एक कदम आगे जाता हूं और अपना गेटटर केवल पढ़ने के संस्करण को वापस लौटाता हूं ... लॉग लॉग मैसेज। लिस्ट() .स्राइडऑनली(); –
Webjedi
जेमी विचार: सच है, अगर यह माता-पिता के साथ एक है तो वह सहायक इसे स्थापित करने के लिए एक शानदार जगह है। यदि यह कई लोगों के लिए है तो माता-पिता नहीं हैं। यहां संदर्भ पर निश्चित नहीं है लेकिन अत्यधिक संदेह है कि आप सही हैं। वेबजेदी, मुझे भी आपका दृष्टिकोण पसंद है। यही कारण है कि मैं संख्यात्मक पर समाप्त हुआ। मेरे मामले में, यह सब कुछ संतुष्ट है जो मैं संग्रह के साथ करना चाहता था। – Ben