因此,目前的Microsoft Sync Framework(2.0)尚不支持此功能。我所做的是我在SqlCeClientSyncProvider類上註冊了CreatingSchema事件,併爲每個正在創建的表循環,並在PKs處爲NEWID()添加了一個默認值。
聲明:
SqlCeClientSyncProvider clientProvider = new SqlCeClientSyncProvider(<connectionstring here>);
註冊事件:
clientProvider.CreatingSchema += new EventHandler<Microsoft.Synchronization.Data.CreatingSchemaEventArgs>(clientProvider_CreatingSchema);
事件:
if (e.Table.SyncDirection == SyncDirection.Bidirectional)
{
if (e.Schema.Tables[e.Table.TableName].Columns[0].DataType == typeof(Guid))
e.Schema.Tables[e.Table.TableName].Columns[0].DefaultValue = "NEWID()";
}