PgSQL. ExecuteObject -> NpgsqlException вместо DataException
От: emanov Россия http://alexeiemanov.moikgrug.ru
Дата: 17.10.11 00:56
Оценка: 70 (1)
При выполнении кода DbManager.cs:3744 на PostgreSQL 9.x

        private object ExecuteObjectInternal(object entity, Type type, object[] parameters)
        {
            if (_prepared)
                InitParameters(CommandAction.Select);

            using (var dr = ExecuteReaderInternal(/*CommandBehavior.SingleRow*/)) // Sybase provider does not support this flag.
            {
                while (dr.Read())
                    return
                        entity == null
                            ? _mappingSchema.MapDataReaderToObject(dr, type, parameters)
                            : _mappingSchema.MapDataReaderToObject(dr, entity, parameters);

                return null;
            }
        }


ExecuteReaderInternal, в котором ловятся исключения, проходит свободно, как если бы запрос не выполнился, зато при первой попытке чтения из reader'а
while (dr.Read())
получается exception, который должен возникнуть при выполнении запроса. в результате, приходится ловить NpgsqlException. точек входа через overridin методов очень мало. Хотелось бы побыстрее решить проблему. У кого какие мысли по решению?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.