MemberChangeConflict.Resolve 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 값을 유지하고 최신 데이터베이스 값에 맞게 원래 기준 값을 다시 설정하여 멤버 충돌을 해결합니다.
오버로드
Resolve(RefreshMode) |
RefreshMode 매개 변수를 사용하여 충돌이 발생한 멤버의 현재 값으로 설정할 값을 자동으로 지정합니다. |
Resolve(Object) |
충돌이 발생한 멤버의 현재 값으로 설정할 값을 지정합니다. |
Resolve(RefreshMode)
RefreshMode 매개 변수를 사용하여 충돌이 발생한 멤버의 현재 값으로 설정할 값을 자동으로 지정합니다.
public:
void Resolve(System::Data::Linq::RefreshMode refreshMode);
public void Resolve (System.Data.Linq.RefreshMode refreshMode);
member this.Resolve : System.Data.Linq.RefreshMode -> unit
Public Sub Resolve (refreshMode As RefreshMode)
매개 변수
- refreshMode
- RefreshMode
RefreshMode을 참조하세요.
예제
다음 예에서는 데이터베이스의 값을 사용 하 여 현재 값을 덮어씁니다.
Northwnd db = new Northwnd("...");
try
{
db.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException e)
{
Console.WriteLine(e.Message);
foreach (ObjectChangeConflict occ in db.ChangeConflicts)
{
// All database values overwrite current values.
occ.Resolve(RefreshMode.OverwriteCurrentValues);
}
}
Dim db As New Northwnd("...")
Try
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Catch ex As ChangeConflictException
Console.WriteLine(ex.Message)
For Each occ As ObjectChangeConflict In db.ChangeConflicts
' All database values overwrite current values.
occ.Resolve(Data.Linq.RefreshMode.OverwriteCurrentValues)
Next
End Try
다음 예에서는 데이터베이스에서 검색 된 값으로 원래 값을 교환 하는 방법을 보여 줍니다. 현재 값은 수정되지 않습니다.
try
{
db.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException e)
{
Console.WriteLine(e.Message);
foreach (ObjectChangeConflict occ in db.ChangeConflicts)
{
//No database values are merged into current.
occ.Resolve(RefreshMode.KeepCurrentValues);
}
}
Try
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Catch ex As ChangeConflictException
Console.WriteLine(ex.Message)
For Each occ As ObjectChangeConflict In db.ChangeConflicts
' No database values are merged into current.
occ.Resolve(Data.Linq.RefreshMode.KeepCurrentValues)
Next
End Try
다음 예에서는 데이터베이스 값을 사용 하 여 다른 값을 업데이트 하지만 변경 된 현재 값을 유지 합니다.
try
{
db.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException e)
{
Console.WriteLine(e.Message);
// Automerge database values for members that client
// has not modified.
foreach (ObjectChangeConflict occ in db.ChangeConflicts)
{
occ.Resolve(RefreshMode.KeepChanges);
}
}
// Submit succeeds on second try.
db.SubmitChanges(ConflictMode.FailOnFirstConflict);
Try
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Catch ex As ChangeConflictException
Console.WriteLine(ex.Message)
For Each occ As ObjectChangeConflict In db.ChangeConflicts
' Automerge database values into current for members
' that client has not modified.
occ.Resolve(Data.Linq.RefreshMode.KeepChanges)
Next
End Try
' Submit succeeds on second try.
db.SubmitChanges(ConflictMode.FailOnFirstConflict)
설명
다음 예제에서는 표시에 대 한 다양 한 값을 사용 하 여 생성 되는 결과 RefreshMode합니다.
적용 대상
Resolve(Object)
충돌이 발생한 멤버의 현재 값으로 설정할 값을 지정합니다.
public:
void Resolve(System::Object ^ value);
public void Resolve (object value);
member this.Resolve : obj -> unit
Public Sub Resolve (value As Object)
매개 변수
- value
- Object
현재 값으로 설정할 값입니다.
설명
여기서 설정한 값은 후속에 사용할 값 SubmitChanges 작업 합니다.
적용 대상
.NET