2011-01-17 4 views
0

안녕하세요 "id"필드와 "parentid"필드가있는 테이블이 있습니다. 두 필드는 모두 상위 열에 null을 삽입하여 계층에 대한 "루트"로 표시 할 수 없으므로 필수입니다. 나는 새로운 루트의 ID를 알기 전까지 dummy parentid에 넣어야하는 새로운 "root"를 만들 때 linq에 문제가있다. 그런 다음 올바른 ID로 parentid 필드를 업데이트하고 저장해야한다. 다시. 이것은 어리석은 것처럼 보이지만 아직 이것을 성취하는 더 좋은 방법을 찾지 못했습니까?자체 참조 테이블 LINQ

TableWithHeirachy xobj = new TableWithHeirachy(); 
xobj.property1 = "test"; 
db.TableWithHeirachy.InsertOnSubmit(xobj); 
db.SubmitChanges(); 
xobj.parentid = xobj.id; 
db.SubmitChanges(); 

이것은 정말 나쁩니다. 더 좋은 방법이 있다고 말해주세요.

답변

1

SQL 문은 삽입이 완료 될 때까지 삽입하려고하는 행의 미래 ID를 알 수 없습니다.

그래서 지금 그대로 계시든지 아니면 루트 레코드 (null, -1 등)를 나타내는 특수 값을 사용하십시오.