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 vuoto " del class= " del id= " codeSnippet787896 del 1 && rema [0]. Tabella! = posizione di segnale minimo)
Entità = file [0]. Tabella;
altrimenti
ritorno;
se (entità del && di vaeCollection.IsCollectionValid! = posizione di segnale minimo)
{
ConcurrencyError booleano = falso;
usando (st di TransactionScope = ((posizione di segnale minimo del == di this.ParentTransaction)? nuovo TransactionScope (): nuovo TransactionScope (this.ParentTransaction)))
{
prova
{
se (posizione di segnale minimo del == di this.ParentTransaction)
this.ParentTransaction = Transaction.Current.DependentClone (DependentCloneOption.BlockCommitUntilComplete);
se (== UpdateAction.Update di UpdateAction)
{
se (entità è ISaveable || L'entità è ISaveMultipleRows)
{
se (entità è && di ISaveMultipleRows Rows.Length > 1)
(Entità (di ISaveMultipleRows)). Risparmiare (file);
altrimenti
(Entità (di ISaveable)). Risparmiare ();
}
}
altrimenti se (== UpdateAction.Delete di UpdateAction)
{
se (entità è IDeleteable || L'entità è IDeleteMultipleRows)
{
se (entità è && di IDeleteMultipleRows Rows.Length > 1)
{
(Entità (di IDeleteMultipleRows)) .DeleteObject (file);
se (DoCommit)
(Entità (di IDeleteMultipleRows)) .CommitDeletedObject (file);
}
altrimenti
{
(Entità (di IDeleteable)) .DeleteObject ();
se (DoCommit)
(Entità (di IDeleteable)) .CommitDeletedObject ();
}
}
}
Ts.Complete ();
}
fermo (TransactionAbortedException ex)
{
se (this.DatabaseUpdateError! = posizione di segnale minimo)
{
mettere insieme il messaggio = “Fehler \ r \ n„;
se (ex.InnerException! = posizione di segnale minimo)
Messaggio += ex.InnerException.Message + “\ r \ nStacktrace: „ + ex.InnerException.StackTrace;
altrimenti
Messaggio += ex. Messaggio + “\ r \ nStacktrace: „ + ex.StackTrace;
this.DatabaseUpdateError (nuovo ExceptionEventArgs (messaggio));
}
altrimenti se (ex.InnerException! = posizione di segnale minimo)
tiro ex.InnerException;
altrimenti
tiro ex;
}
fermo (dex di DBConcurrencyException)
{
se (ConcurrencyErrorOccured! = posizione di segnale minimo)
this.ConcurrencyErrorOccured (dex. Fila, nuovo EventArgs ());
//ConcurrencyError = allinea;
Ts.Dispose ();
ritorno;
}
}
}
}
|