是否可以将DbSyncScopeDescription应用于现有的SqlCeDatabase?
我正在尝试使用从此数据库构建的DbSyncScopeDescription来配置现有数据库。
这是我用来测试它的代码。这应该让你知道我正在做什么。
我在最后一行收到SqlCeException并显示消息:
“指定的索引不存在。[sysChangeTxBsn_idx]”。
private void Test()
{
DbSyncScopeDescription scopeDescription =
new DbSyncScopeDescription("MyScope");
foreach (string tableName in TableNames)
{
DbSyncTableDescription tableDecsription = SqlCeSyncDescriptionBuilder
.GetDescriptionForTable(tableName, myConnection);
scopeDescription.Tables.Add(tableDecsription);
}
SqlCeSyncScopeProvisioning scopeProvisioning =
new SqlCeSyncScopeProvisioning(scopeDescription);
scopeProvisioning.SetCreateTableDefault(DbSyncCreationOption.Create);
scopeProvisioning.Apply(myConnection);
}
如果可能,或者我做错了,请告诉我。谢谢, 亚历
答案 0 :(得分:0)
我要尝试的一件事是在调用SetCreateTableDefault时使用Skip枚举值。
scopeProvisioning.SetCreateTableDefault(DbSyncCreationOption.Skip);
这些表已经存在于数据库中,您无需创建它们。
此外,如果已启用更改跟踪,我在过去配置SQL Server Compact Edition数据库时遇到问题。
干杯,
斯科特