2011-04-05 3 views
0

Microsoft Sync Frameowrk를 사용하고 있는데 내 테이블을 가져 오는 중이지만 외래 키를 가져 오지 않았습니까? 부모님 (PK 테이블)이 FK를 실패하게 만들 것이라고 생각하기 때문에 먼저 가져 왔는지 확인했습니다.Microsoft Sync - 외래 키를 가져 오지 않음

여기서 내가 누락 된 부분은 FK를 동기화와 함께 가져올 수 없습니까?

SQL Server 2008 R2 및 SQL Server 2008 R2 Express 사용. 동기화 2.1 프레임 워크를 사용하고 있다고 생각합니다.

의견을 보내 주시면 대단히 감사하겠습니다.

감사합니다,

S

답변

2

동기화 FX는 나던 제공 FKS과 PK 이외의 다른 제약. FK를 스크립트로 작성하여 프로그래밍 방식으로 적용해야합니다.

+0

덕분에 @JuneT 나는 그것을 감사처럼 데이터베이스에서 외부 키를 꺼내 할

데이터 세트에서 발견 – scarpacci

0

ServerSyncProvider는 ClientSyncProvider가 클라이언트 데이터베이스에서 테이블을 채우는 데 사용하는 DataSet을 만듭니다. 기본적으로 제공되는 기능에는 외래 키 제약 조건이 포함되어 있지 않습니다.

public override SyncSchema GetSchema(Collection<string> tableNames,SyncSession syncSession) 
{ 
    var schema = base.GetSchema(tableNames,syncSession); 
    schema.SchemaDataSet.Tables["Table1"].Constraints.Add(new ForeignKeyConstraint(...)); 
    return schema; 
} 

ClientSyncProvider가 외부 키에 스크립트가 무엇을 기반으로합니다 :이 같은 ServerSyncProvider의 GetSchema 메소드를 오버라이드 (override) 아마 가장 쉬운

(나는 그 나을 것 같다 ... 왜 잘 모릅니다) 물론, 당신은 아마 프로그래밍 http://blog.sqlauthority.com/2006/11/01/sql-server-query-to-display-foreign-key-relationships-and-name-of-the-constraint-for-each-table-in-database/

관련 문제