당신은 어떻게 지속 트리 구조 데이터베이스 테이블에 자동으로 증가하는 Id 를 사용하는 ADO.NET 데이터 집합 및드
문제
가 자기참조 역할 테이블을 나타내는 나무 구조
ID [INT] AUTO INCREMENT
Name [VARCHAR]
ParentID [INT]
내가 사용하는 ADO.NET DataTable 및드하는 값이다.이 경우 내가 만들의 아이들은 기존의 행이 있습니다.만약 내가 자식 행,그 아이의 아동,그 후 업데이트,임시 ID 값에 의해 생성된 DataTable 은 것으로 ParentID 열입니다.나는 다음과 같은 데이터와 관련 설정:
dataset.Relations.Add(New DataRelation("RoleToRole",RoleTable.Columns("ID"), RoleTable.Columns("ParentID")))
그 때 내가 만드는 새로운 아이 행 DataTable 나는 SetParentRow 방법
newRow.SetParentRow(parentRow)
은 특별한 무언가를 내가 할 일을 얻고 ID 생성을 재귀적으로 전파를 탈출하기 때문에서 업데이트드?
해결책
난 몰라 ADO.net 특히지만,대부분의 ORMs 지 않을 것이 자동으로 삽입하 ID 새로운 기록의 관계입니다.당신은 리조트를 2 단계 과정을 거쳐야 합니다:
- 를 구축하고 저장은 부모
- 를 구축하고 저장하는 아이와 부모의 관계
그 이유는 이것이 어려운 ORMs 수 있기 때문이 원형의 종속성과 이를 알 수 없는 개체를 만드는 데 필요한 ID 니다.일부 ORMs 는 스마트 충분히 파악하는 사람들의 관계가 없는 이러한 순환 의존하지만,가장되지 않습니다.
다른 팁
그것은 어떤 차이가면 갈 수
newRow.SetParentRow(parentRow, RoleTable.Relations("RoleToRole"))
나는 당신이 추가건으로,UpdateRule 설정이 있습니다.
제휴하지 않습니다 StackOverflow