당신은 어떻게 지속 트리 구조 데이터베이스 테이블에 자동으로 증가하는 Id 를 사용하는 ADO.NET 데이터 집합 및드

StackOverflow https://stackoverflow.com/questions/5263

  •  08-06-2019
  •  | 
  •  

문제

가 자기참조 역할 테이블을 나타내는 나무 구조

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 단계 과정을 거쳐야 합니다:

  1. 를 구축하고 저장은 부모
  2. 를 구축하고 저장하는 아이와 부모의 관계

그 이유는 이것이 어려운 ORMs 수 있기 때문이 원형의 종속성과 이를 알 수 없는 개체를 만드는 데 필요한 ID 니다.일부 ORMs 는 스마트 충분히 파악하는 사람들의 관계가 없는 이러한 순환 의존하지만,가장되지 않습니다.

다른 팁

그것은 어떤 차이가면 갈 수

newRow.SetParentRow(parentRow, RoleTable.Relations("RoleToRole"))

나는 당신이 추가건으로,UpdateRule 설정이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top