Поделиться через


Метод ObjectChangeConflict.Resolve (RefreshMode)

Это обновление устраняет несоответствия путем назначения каждого поля и свойства, для которого имеется несоответствие, значение, которое сохраняется в базе данных при следующем вызове SubmitChanges.

Пространство имен:  Microsoft.SharePoint.Linq
Сборка:  Microsoft.SharePoint.Linq (в Microsoft.SharePoint.Linq.dll)

Синтаксис

'Декларация
Public Sub Resolve ( _
    refreshMode As RefreshMode _
)
'Применение
Dim instance As ObjectChangeConflict
Dim refreshMode As RefreshMode

instance.Resolve(refreshMode)
public void Resolve(
    RefreshMode refreshMode
)

Параметры

Замечания

Эта перегрузка метода Resolve(RefreshMode) ведет себя точно так, как Resolve(RefreshMode, Boolean) его параметром autoResolveDeletes , равным true.

Примеры

В следующем примере показано, как использовать Resolve(RefreshMode) в блоке catch реагировать на ChangeConflictException:

foreach (TeamMember teamMember in teamSite.TeamMembers)
{
    teamMember.TopTask = "Fiscal Planning";
}

try 
{
    teamSite.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException e) 
{
    foreach (ObjectChangeConflict changedListItem in teamSite.ChangeConflicts)
    {
        // If another user has changed properties of a non-manager,
        // leave that other user’s changes, except for the TopTask field.
        if (((TeamMember)changedListItem.Object).IsManager = false)
        {        
             foreach (MemberChangeConflict changedField in changedListItem.MemberConflicts)
            {
                if (changedField.Member.Name == "TopTask")
                {
                    changedField.Resolve(RefreshMode.KeepCurrentValues);
                }
                else
                {
                    changedField.Resolve(RefreshMode.OverwriteCurrentValues);
                }
            }
        }
        // But if another user has changed properties of a manager, let this
        // process’s changes override the other user’s changes.
        else
        {
            changedListItem.Resolve(RefreshMode.KeepCurrentValues);
        }    
    }

    teamSite.SubmitChanges();
} // end catch

См. также

Справочные материалы

ObjectChangeConflict класс

Элементы ObjectChangeConflict

Перегрузка Resolve

Пространство имен Microsoft.SharePoint.Linq