All,
I have an application that is synchronizing features one-way from a service running on a 10.1 server. While the mobile app does not directly edit the features we do delete them from the mobile cache to prevent cache bloating. The problem is if you delete a feature using a FeatureDataReader or FeatureDataTable it moves the feature to fs_table0_deleted_features and once there you can never re-synchronize that feature from the server cache.
I tried removing these features from the fs_table0_deleted_features table using the following code and while the code does not fail it does not remove the rows from the table.
using (FeatureDataTable featureDataTable = fSource.GetDataTable(null, EditState.Deleted, null))
{
foreach (FeatureDataRow row in featureDataTable.Rows)
{
_logger.Debug("Deleting row from deleted features");
row.Delete();
}
featureDataTable.SaveInFeatureSource();
if (_logger.IsWarnEnabled)
{
foreach (var dataRow in featureDataTable.GetErrors())
{
_logger.Warn("Row was rejected from deleted features, error message: " + dataRow.RowError);
}
}
}
Has anyone run into this issue? Any advise would be appreciated.
Thanks