ObjectChangeConflict Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje pokus o aktualizaci s jedním nebo více optimistickými konflikty souběžnosti.
public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
- Dědičnost
-
ObjectChangeConflict
Příklady
Northwnd db = new Northwnd("...");
try
{
db.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException e)
{
Console.WriteLine("Optimistic concurrency error.");
Console.WriteLine(e.Message);
foreach (ObjectChangeConflict occ in db.ChangeConflicts)
{
MetaTable metatable = db.Mapping.GetTable(occ.Object.GetType());
Customer entityInConflict = (Customer)occ.Object;
Console.WriteLine("Table name: {0}", metatable.TableName);
Console.Write("Customer ID: ");
Console.WriteLine(entityInConflict.CustomerID);
Console.ReadLine();
}
}
Dim db As New Northwnd("...")
Try
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Catch ex As ChangeConflictException
Console.WriteLine("Optimistic concurrency error.")
Console.WriteLine(ex.Message)
For Each occ As ObjectChangeConflict In db.ChangeConflicts
Dim metatable As MetaTable = db.Mapping.GetTable(occ.Object.GetType())
Dim entityInConflict = occ.Object
Console.WriteLine("Table name: " & metatable.TableName)
Console.Write("Customer ID: ")
Console.WriteLine(entityInConflict.CustomerID)
Console.ReadLine()
Next
End Try
Poznámky
V tomto scénáři se pokus o aktualizaci nezdaří, protože hodnoty databáze byly aktualizovány od posledního čtení klienta.
Následující příklad ukazuje, jak načíst informace o konfliktních objektech.
Vlastnosti
IsDeleted |
Získá hodnotu, která označuje, zda objekt v konfliktu byl odstraněn z databáze. |
IsResolved |
Získá hodnotu, která označuje, zda konflikty pro tento objekt již byly vyřešeny. |
MemberConflicts |
Získá kolekci všech konfliktů členů, které způsobily selhání aktualizace. |
Object |
Získá objekt v konfliktu. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Resolve() |
Řeší konflikty členů tím, že zachová aktuální hodnoty a resetuje původní hodnoty směrného plánu tak, aby odpovídaly novějším hodnotám databáze. |
Resolve(RefreshMode) |
Řeší konflikty členů pomocí zadaného RefreshModeobjektu . |
Resolve(RefreshMode, Boolean) |
Vyřešte konflikty členů zachováním aktuálních hodnot a resetováním původních hodnot směrného plánu. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |