@@ -8,33 +8,33 @@ namespace EntityFramework.Exceptions.Common;
88
99static class ExceptionFactory
1010{
11- internal static Exception Create ( DatabaseError error , DbUpdateException exception , IReadOnlyList < EntityEntry > entries )
11+ internal static Exception Create < T > ( ExceptionProcessorInterceptor < T > . DatabaseError error , Exception exception , IReadOnlyList < EntityEntry > entries ) where T : DbException
1212 {
1313 return error switch
1414 {
15- DatabaseError . CannotInsertNull when entries . Count > 0 => new CannotInsertNullException ( "Cannot insert null" , exception . InnerException , entries ) ,
16- DatabaseError . CannotInsertNull when entries . Count == 0 => new CannotInsertNullException ( "Cannot insert null" , exception . InnerException ) ,
17- DatabaseError . MaxLength when entries . Count > 0 => new MaxLengthExceededException ( "Maximum length exceeded" , exception . InnerException , entries ) ,
18- DatabaseError . MaxLength when entries . Count == 0 => new MaxLengthExceededException ( "Maximum length exceeded" , exception . InnerException ) ,
19- DatabaseError . NumericOverflow when entries . Count > 0 => new NumericOverflowException ( "Numeric overflow" , exception . InnerException , entries ) ,
20- DatabaseError . NumericOverflow when entries . Count == 0 => new NumericOverflowException ( "Numeric overflow" , exception . InnerException ) ,
21- DatabaseError . ReferenceConstraint when entries . Count > 0 => new ReferenceConstraintException ( "Reference constraint violation" , exception . InnerException , entries ) ,
22- DatabaseError . ReferenceConstraint when entries . Count == 0 => new ReferenceConstraintException ( "Reference constraint violation" , exception . InnerException ) ,
23- DatabaseError . UniqueConstraint when entries . Count > 0 => new UniqueConstraintException ( "Unique constraint violation" , exception . InnerException , entries ) ,
24- DatabaseError . UniqueConstraint when entries . Count == 0 => new UniqueConstraintException ( "Unique constraint violation" , exception . InnerException ) ,
15+ ExceptionProcessorInterceptor < T > . DatabaseError . CannotInsertNull when entries . Count > 0 => new CannotInsertNullException ( "Cannot insert null" , exception . InnerException , entries ) ,
16+ ExceptionProcessorInterceptor < T > . DatabaseError . CannotInsertNull when entries . Count == 0 => new CannotInsertNullException ( "Cannot insert null" , exception . InnerException ) ,
17+ ExceptionProcessorInterceptor < T > . DatabaseError . MaxLength when entries . Count > 0 => new MaxLengthExceededException ( "Maximum length exceeded" , exception . InnerException , entries ) ,
18+ ExceptionProcessorInterceptor < T > . DatabaseError . MaxLength when entries . Count == 0 => new MaxLengthExceededException ( "Maximum length exceeded" , exception . InnerException ) ,
19+ ExceptionProcessorInterceptor < T > . DatabaseError . NumericOverflow when entries . Count > 0 => new NumericOverflowException ( "Numeric overflow" , exception . InnerException , entries ) ,
20+ ExceptionProcessorInterceptor < T > . DatabaseError . NumericOverflow when entries . Count == 0 => new NumericOverflowException ( "Numeric overflow" , exception . InnerException ) ,
21+ ExceptionProcessorInterceptor < T > . DatabaseError . ReferenceConstraint when entries . Count > 0 => new ReferenceConstraintException ( "Reference constraint violation" , exception . InnerException , entries ) ,
22+ ExceptionProcessorInterceptor < T > . DatabaseError . ReferenceConstraint when entries . Count == 0 => new ReferenceConstraintException ( "Reference constraint violation" , exception . InnerException ) ,
23+ ExceptionProcessorInterceptor < T > . DatabaseError . UniqueConstraint when entries . Count > 0 => new UniqueConstraintException ( "Unique constraint violation" , exception . InnerException , entries ) ,
24+ ExceptionProcessorInterceptor < T > . DatabaseError . UniqueConstraint when entries . Count == 0 => new UniqueConstraintException ( "Unique constraint violation" , exception . InnerException ) ,
2525 _ => null ,
2626 } ;
2727 }
2828
29- internal static Exception Create ( DatabaseError error , DbException exception )
29+ internal static Exception Create < T > ( ExceptionProcessorInterceptor < T > . DatabaseError error , Exception exception ) where T : DbException
3030 {
3131 return error switch
3232 {
33- DatabaseError . CannotInsertNull => new CannotInsertNullException ( "Cannot insert null" , exception . InnerException ) ,
34- DatabaseError . MaxLength => new MaxLengthExceededException ( "Maximum length exceeded" , exception . InnerException ) ,
35- DatabaseError . NumericOverflow => new NumericOverflowException ( "Numeric overflow" , exception . InnerException ) ,
36- DatabaseError . ReferenceConstraint => new ReferenceConstraintException ( "Reference constraint violation" , exception . InnerException ) ,
37- DatabaseError . UniqueConstraint => new UniqueConstraintException ( "Unique constraint violation" , exception . InnerException ) ,
33+ ExceptionProcessorInterceptor < T > . DatabaseError . CannotInsertNull => new CannotInsertNullException ( "Cannot insert null" , exception . InnerException ) ,
34+ ExceptionProcessorInterceptor < T > . DatabaseError . MaxLength => new MaxLengthExceededException ( "Maximum length exceeded" , exception . InnerException ) ,
35+ ExceptionProcessorInterceptor < T > . DatabaseError . NumericOverflow => new NumericOverflowException ( "Numeric overflow" , exception . InnerException ) ,
36+ ExceptionProcessorInterceptor < T > . DatabaseError . ReferenceConstraint => new ReferenceConstraintException ( "Reference constraint violation" , exception . InnerException ) ,
37+ ExceptionProcessorInterceptor < T > . DatabaseError . UniqueConstraint => new UniqueConstraintException ( "Unique constraint violation" , exception . InnerException ) ,
3838 _ => null ,
3939 } ;
4040 }
0 commit comments