class= " lineNumbers " del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
|
class= del
>private notpretty InternalUpdateEntity vacío " del class= " del id= " codeSnippet787896 del 1 && rema [0]. ¡Tabla! = falta de información)
Entidad = filas [0]. Tabla;
vuelta;
¡si (entidad del && de vaeCollection.IsCollectionValid! = falta de información)
{
ConcurrencyError boleano = falso;
¿el usar (Ts de TransactionScope = ((falta de información del == de this.ParentTransaction)? nuevo TransactionScope (): nuevo TransactionScope (this.ParentTransaction)))
{
intento
{
si (falta de información del == de this.ParentTransaction)
this.ParentTransaction = Transaction.Current.DependentClone (DependentCloneOption.BlockCommitUntilComplete);
si (== UpdateAction.Update de UpdateAction)
{
si (la entidad es ISaveable || La entidad es ISaveMultipleRows)
{
si (la entidad es && de ISaveMultipleRows Rows.Length > 1)
(Entidad (de ISaveMultipleRows)). Ahorrar (filas);
(Entidad (de ISaveable)). Ahorrar ();
}
}
si (== UpdateAction.Delete de UpdateAction)
{
si (la entidad es IDeleteable || La entidad es IDeleteMultipleRows)
{
si (la entidad es && de IDeleteMultipleRows Rows.Length > 1)
{
(Entidad (de IDeleteMultipleRows)) .DeleteObject (filas);
si (DoCommit)
(Entidad (de IDeleteMultipleRows)) .CommitDeletedObject (filas);
}
{
(Entidad (de IDeleteable)) .DeleteObject ();
si (DoCommit)
(Entidad (de IDeleteable)) .CommitDeletedObject ();
}
}
}
Ts.Complete ();
}
retén (TransactionAbortedException ex)
{
¡si (this.DatabaseUpdateError! = falta de información)
{
encadenar el mensaje = “Fehler \ r \ n”;
¡si (ex.InnerException! = falta de información)
Mensaje += ex.InnerException.Message + “\ r \ nStacktrace: ” + ex.InnerException.StackTrace;
Mensaje += ex. Mensaje + “\ r \ nStacktrace: ” + ex.StackTrace;
this.DatabaseUpdateError (nuevo ExceptionEventArgs (mensaje));
}
¡si (ex.InnerException! = falta de información)
tiro ex.InnerException;
tiro ex;
}
retén (dex de DBConcurrencyException)
{
¡si (ConcurrencyErrorOccured! = falta de información)
this.ConcurrencyErrorOccured (dex. Fila, nuevo EventArgs ());
//ConcurrencyError = verdad;
Ts.Dispose ();
vuelta;
}
}
}
}
|