2010-03-11 10 views
11

NHibernate में ऑब्जेक्ट्स (इकाइयों) क्लोनिंग को कैसे कार्यान्वित करें? प्रत्येक इकाई वर्ग में ऐसी गुण होते हैं:NHibernate में ऑब्जेक्ट क्लोन कैसे करें?

public virtual IList<Club> Clubs { get; set; } 

इसके अलावा, इकाई वर्ग बेसऑब्जेक्ट को प्राप्त करता है। मैंने XML क्रमिकरण का उपयोग करके समाधान को लागू करने का प्रयास किया, लेकिन इंटरफेस को क्रमबद्ध करना संभव नहीं है।

आपके उत्तरों के लिए धन्यवाद!

उत्तर

14

AutoMapper http://automapper.codeplex.com/ मेरी समस्या का हल। उदाहरण के लिए, यह अगले रास्ते में एक व्यापार वस्तु क्लोन करने के लिए संभव है:

Mapper.CreateMap<Transaction, Transaction>(); 
var newtransact = new Transaction(); 
Mapper.Map(transact, newtransact); 
+3

आप 'Mapper.CreateMap <लेनदेन, लेनदेन>() का उपयोग कर आईडी गुणों को बहिष्कृत करना चाहते हैं। ForMember (d => d.Id, o => o.Ignore());' और मैन्युअल रूप से कुछ जैसे उपयोग करके IList गुणों की प्रतिलिपि बनाएँ : 'newtransact.Clubs = this.Clubs.Select (item => item.Clone())। toList();' - देखें: http://stackoverflow.com/questions/3396808/ –

+0

इसके लिए धन्यवाद। यह मुझे कुछ सिरदर्द बचाया। – Nick

0

मुझे आपके डोमेन या आवश्यकताओं के बारे में पता नहीं है, न ही मैं आपकी ज़रूरत को गलत समझ रहा हूं, लेकिन ICloneable interface को लागू करना और अपनी वस्तु को क्लोन करने के लिए कोड लिखना चाहिए।

याद रखें कि क्लोनिंग करते समय आपको कास्ट टाइप करना होगा।

ClonedObject clonedObjectinstance = (ClonedObject)initialEntityInstance.Clone(); 
+0

कृपया, मुझे बताओ मैं कहाँ गलत यह इतना है कि मैं अपने आप को जान सकते हैं मिल गया है! =) क्या इस सवाल में कुछ गलत है? धन्यवाद! –

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