AMcoder - javascript, python, java, html, php, sql

Nhibernate clone օբյեկտը և տեղադրեք որպես նոր գրառում

Արդյո՞ք NHibernate-ով հնարավոր է կլոնավորել գոյություն ունեցող օբյեկտը (վերցված է nhibernate-ի միջոցով) և տեղադրել դրա վրա նոր գրառում ստեղծելու համար՝ ներկայիսը թարմացնելու փոխարեն:

Մենք օգտագործում ենք սա ժամանակային տարբերակում անելու համար և նման վարքագծի կարիք ունենք:

01.11.2011

Պատասխանները:


1

Ես տեղյակ չեմ nhibernate-ի մեջ ներկառուցված որևէ բանի մասին, որը կարող է անել այն, ինչ դուք փնտրում եք:

Զգուշացում Hack Ahead
Ես չեմ փորձել սա, ուստի սա պարզապես բարձրաձայն մտածում է այն մասին, թե ինչպես է nhibernate-ը հետևում օբյեկտներին:

Կախված օբյեկտի գրաֆիկից, դուք կարող եք վերականգնել տարբերակը (եթե այդպիսիք կան) և ID-ն վերադարձնել քարտեզագրման մեջ նշված լռելյայնին, և դա պետք է ստեղծի կլոն, քանի որ այն արդյունավետորեն վերակայում է, թե ինչպես է nhibernate-ը հետևում օբյեկտին, և երբ այն պահպանվի, այն կստանա նոր ID: . Նկատի ունեցեք նաև, որ ցանկացած կցված քարտեզագրված օբյեկտ նույնպես պետք է նույնն արվի խորը կլոն ստանալու համար:

Եթե ​​ես լինեի, ես հավանաբար կդնեի կլոնի մեթոդ օբյեկտի վրա, որը վերադարձնում է նոր օբյեկտ՝ հատկությունների պատճենով և այլն։

SO-ի որոշ այլ պատասխաններ առաջարկում են օգտագործել Automapper Ինչպե՞ս կլոնավորել օբյեկտները NHibernate-ում:

01.11.2011

2

Պարզապես կատարեք MemberwiseClone և մաքրեք ID-ն:

01.11.2011
  • Թեև ես սա չեմ փորձարկել, MemberwiseClone-ի օգտագործումը կարող է հանգեցնել բոլոր տեսակի խնդիրների, եթե դուք կլոնավորում եք վստահված անձի օբյեկտ կամ որևէ խորը տեղադրված օբյեկտ: Դա միայն մակերեսային պատճեն է, այնպես որ վստահված անձինք և այն, ինչ ոչ, դեռ կվերաբերեն բնօրինակ օբյեկտի օբյեկտին: 01.05.2012
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..