2013-03-21 2 views
0

내가 Ado.Net에서 DataRelations을 공부하고제약없이 외래 키가 있습니까? 시스템 :

public DataRelation(
    string relationName, 
    DataColumn parentColumn, 
    DataColumn childColumn, 
    bool createConstraints 
) 

다음은이 생성자 건너 온 한 마지막 매개 변수는

유형

createConstraints로 MSDN에 의해 ​​설명 createConstraints입니다 .Boolean

제약 조건이 만들어지는 지 여부를 나타내는 값입니다. true, 제약 조건이 만들어지면 true입니다. 그렇지 않으면 false입니다.

false으로 설정하면 어떻게됩니까? 제약없이 외래 키를 만드는 방법은 무엇입니까?

+2

"* * 어떻게됩니까"- 그것을 시도하고 우리에게 :) – LukeHennerley

답변

1

제약이 제약에 ConstraintCollection

더 추가하지 않고 예, 관계가 생성됩니다 :

관계 수있는 부모로부터도 캐스케이드 다양한 변화의 DataRow 자식 행합니다. 자식 행에서 값이 변경되는 방식을 제어하려면 ForeignKeyConstraint를 DataTable 개체의 ConstraintCollection에 추가합니다. ConstraintCollection은 부모 테이블의 값이 삭제되거나 업데이트 될 때 수행 할 작업 ( )을 결정합니다.

http://msdn.microsoft.com/en-us/library/dz0az7c7.aspx

+0

을 나는 그것이 false로 설정 그렇다면, 전혀 조치가 취해되지 않습니다 부모가 갱신 또는 삭제 된 경우? – Aditi

+0

예; 어떤 부분이 당신에게 혼란 스럽습니까? –

+0

'DataRelation을 만들면 먼저 관계를 설정할 수 있는지 확인합니다. DataRelationCollection에 추가 된 후에는 관계를 무효화하는 변경을 금지하여 관계가 유지됩니다. DataRelation이 만들어지고 DataRelationCollection에 추가되는 기간 사이에 부모 또는 자식 행에 대한 추가 변경이 가능할 수 있습니다. 더 이상 유효하지 않은 관계가 발생하면 예외가 발생합니다. '연결된 부모 tuple을 삭제하면 관계가 자식 튜플에 대해 유효하지 않게됩니까? – Aditi