2015-07-17 11 views
5

Używam dapper.net i pakuję connection.Execute dla moich instrukcji Delete i Update.Daper. Jakie wyjątki ma rzut conn.Execute?

public virtual void Update(TEntity entity) 
{ 
    IDbConnection connection = connectionService.Connection; 

    connection.Execute(UpdateQuery, entity, connectionService.Transaction); 
} 

Kiedy doszedłem do tego użyć, chcę wiedzieć, czy to się nie powiedzie, czy nie łapiąc wyjątek (S) i nie tylko ogólne Exception. Jakie (jeśli w ogóle) wyjątki są zgłaszane? Zakładam, że SqlException, poprzedni menedżer nauczył mnie niczego nie zakładać.

Czy ktoś może wskazać mi właściwy kierunek, w którym znajduję tę informację?

+0

Jeśli connectionService.Connection zwróci SqlConnection, wówczas moja odpowiedź poniżej jest prawidłowa. Mam poszukiwanie jakiejś dokumentacji online, ale jest ona ograniczona (stąd dlaczego tu trafiłeś). Wiem o tym z praktyki, ponieważ używam bardziej wyrafinowanego, niż chcesz w tym tygodniu :) – JDTLH9

+0

Dapper nie maskuje żadnych wyjątków. Jeśli twój dostawca bazy danych jest SQL, rzuci 'SqlException'. –

Odpowiedz

5

Dapper rzeczywiście rzuci SqlException, gdy zostanie użyty przeciwko SqlConnection.

Wyjątki będą zgodne z tymi, które uzyskasz z kodu ADO.NET wanilii. Wartość, która jest kodem określonego typu wyjątku SQL.