변경 사항을 실행 취소하고 이전 버전으로 롤백 할 수 있도록 "이전 버전"을 만들고 싶습니다.복제 객체 그래프가 중복되어 nhibernate에서 새 것으로 유지됩니다.
다양한 속성을 가진 관리자 개체와 관리되는 직원이 있습니다. 이것은 외부 키로 관리자에 링크 된 스태프를 가진 데이터베이스의 두 테이블과 관련됩니다.
관리자와 모든 직원을 복제하여 관리자 테이블에 새 항목으로 저장하고 직원 테이블에 새로운 항목을 추가하여 데이터베이스에 저장하는 것이 좋습니다. 매니저.
나는 이것을 사용하여 영리한 방법이 있는지 궁금해하고 nhibernate를 사용하고 있습니다. 내가이 일을 생각할 수
유일한 방법은 수동이다 :
manager old = getManager(); // get the original for copying
manager newManager = new manager(); // create a blank object
newManager .name = old.name //give the new manager the old one's props;
//cycle through the staff duplicate and add to new managers staff collection
foreach(staff s in old.staffCollection)
{
staff newStaff = new staff();
newstaff.name = s.name;
newManager.staffCollection.Add(newstaff);
}
위의 예는 내가 그것을 할 거라고 방법을 정확하게하지 않습니다하지만 당신은 내가 희망 아이디어를 얻을.
저는 반사를 사용하여 수동으로 설정하는 대신 소품을 얻는 방법에 대해 생각해 보았습니다.
거기에 개체 그래프를 복사하고 새로운 항목으로 다시 유지 nhibernate 방법이 있습니까?
누구나 가지고있는 멋진 아이디어가 있습니까 ??
예제 코드 일 뿐이지 만,'manager'와'staff' 클래스 이름이 정말로 소문자가 아니길 바랍니다. – kroimon