我正在使用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