ObjectChangeConflict.Resolve 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
멤버 충돌을 해결합니다.
오버로드
Resolve() |
현재 값을 유지하고 최신 데이터베이스 값에 맞게 원래 기준 값을 다시 설정하여 멤버 충돌을 해결합니다. |
Resolve(RefreshMode) |
지정된 RefreshMode를 사용하여 멤버 충돌을 해결합니다. |
Resolve(RefreshMode, Boolean) |
현재 값을 유지하고 원래 기준 값을 다시 설정하여 멤버 충돌을 해결합니다. |
Resolve()
현재 값을 유지하고 최신 데이터베이스 값에 맞게 원래 기준 값을 다시 설정하여 멤버 충돌을 해결합니다.
public:
void Resolve();
public void Resolve ();
member this.Resolve : unit -> unit
Public Sub Resolve ()
적용 대상
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(RefreshMode, Boolean)
현재 값을 유지하고 원래 기준 값을 다시 설정하여 멤버 충돌을 해결합니다.
public:
void Resolve(System::Data::Linq::RefreshMode refreshMode, bool autoResolveDeletes);
public void Resolve (System.Data.Linq.RefreshMode refreshMode, bool autoResolveDeletes);
member this.Resolve : System.Data.Linq.RefreshMode * bool -> unit
Public Sub Resolve (refreshMode As RefreshMode, autoResolveDeletes As Boolean)
매개 변수
- refreshMode
- RefreshMode
RefreshMode의 해당 옵션입니다.
- autoResolveDeletes
- Boolean
true
이면 데이터베이스에 더 이상 없는 수정된 개체에서 발생하는 충돌을 자동으로 해결합니다.
적용 대상
.NET