我正在使用Microsoft Sync Frameowrk,它帶來了我的表,但它沒有拉過外鍵?我已經確定父母(PK表)首先被帶過來,因爲我認爲會導致FK失敗。微軟同步 - 沒有帶來外鍵
我在這裏遺漏的是不允許FKs帶同步?
使用SQL Server 2008 R2和SQL Server 2008 R2 Express。我相信我正在使用Sync 2.1框架。
任何建議將不勝感激。
謝謝,
小號
我正在使用Microsoft Sync Frameowrk,它帶來了我的表,但它沒有拉過外鍵?我已經確定父母(PK表)首先被帶過來,因爲我認爲會導致FK失敗。微軟同步 - 沒有帶來外鍵
我在這裏遺漏的是不允許FKs帶同步?
使用SQL Server 2008 R2和SQL Server 2008 R2 Express。我相信我正在使用Sync 2.1框架。
任何建議將不勝感激。
謝謝,
小號
同步Fx的犯規規定FKS和比PK其他其他約束。你將不得不編寫你的FK並通過編程來應用它們。
ServerSyncProvider創建一個DataSet,ClientSyncProvider用它來填充客戶端數據庫上的表。默認提供的功能(如您所提到的)不包括外鍵約束。 (我不知道爲什麼......似乎纔有意義)
這可能是最簡單的覆蓋ServerSyncProvider的的getSchema方法是這樣的:
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將外鍵腳本基於它發現數據集中
感謝@JuneT我欣賞它從你的數據庫中的外鍵 – scarpacci 2011-04-06 12:53:52