Hallo,
ich spiele gerade mit LinqToENTITIES herum, und musste feststellen, dass es gar nicth so einfach ist genaue Daten eines Parallelitätkonflikts auszulesen wie bei LinqToSQL.
Kann mir jemand zeigen wie man die genaue(n) Spaltennamen, Tabellennamen usw. von den vom Konflikt betroffenen Daten auslesen kann?
Oder ist das nicht mehr so im Detail vorgesehen wie bei LinqToSQL?
So gings ja in LinqToSQL:
Nur Leider gibt es MemberChangeConfict usw. nicht bei ADO.NET EntityFramework...
Danke!
ich spiele gerade mit LinqToENTITIES herum, und musste feststellen, dass es gar nicth so einfach ist genaue Daten eines Parallelitätkonflikts auszulesen wie bei LinqToSQL.
Kann mir jemand zeigen wie man die genaue(n) Spaltennamen, Tabellennamen usw. von den vom Konflikt betroffenen Daten auslesen kann?
Oder ist das nicht mehr so im Detail vorgesehen wie bei LinqToSQL?
So gings ja in LinqToSQL:
Code:
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); foreach (MemberChangeConflict mcc in occ.MemberConflicts) { object currVal = mcc.CurrentValue; object origVal = mcc.OriginalValue; object databaseVal = mcc.DatabaseValue; MemberInfo mi = mcc.Member; Console.WriteLine("Member: {0}", mi.Name); Console.WriteLine("current value: {0}", currVal); Console.WriteLine("original value: {0}", origVal); Console.WriteLine("database value: {0}", databaseVal); Console.ReadLine(); } } }
Danke!
Comment