2017-12-21 2 views
0

ich eine SQL-Abfrage, die einige Dateien auf Tabelle löschenDatabase.ExecuteSqlCommand Was bedeutet Int Return?

Ich laufe es EF mit

string comando = $" delete from MyTable where IdProduccion = '{idProduccion}'"; 
int res = context.Database.ExecuteSqlCommand(comando); 
if (res < 0) 
    throw new Exception("....") 

einige Male es 0 zurück, noch mal zurück 1 oder eine andere int, Trog Dokumentation Suche ich diese haben

Return Value 
Type: System.Int32 
The result returned by the database after executing the command. 

Aber was genau bedeutet diese ganze Zahl?

Wenn ich ein anderes Ergebnis als 0 habe, tritt bei Db ein Fehler auf?

Antwort

1
int res = context.Database.ExecuteSqlCommand(comando); 

Die ExecuteSqlCommand gibt die Gesamtzahl der Zeilen, die von DELETE Aktion betroffen. Zum Beispiel, wie Ihre Löschung Aktionsergebnis, wenn 2 Zeilen gelöscht werden, sollte es als 2 zurückgeben.

Wenn ich ein anderes Ergebnis als 0 habe, passiert ein Fehler bei Db?

Nein, verwenden Sie den Rückgabewert nicht zur Überprüfung einiger Fehler. Wenn ein Fehler in SQL Server auftritt, wird ein Fehler ausgegeben. Es könnte besser sein, try/catch Block zu verwenden, um Fehler zu behandeln.