EFxceptions 0.4.5
dotnet add package EFxceptions --version 0.4.5
NuGet\Install-Package EFxceptions -Version 0.4.5
<PackageReference Include="EFxceptions" Version="0.4.5" />
paket add EFxceptions --version 0.4.5
#r "nuget: EFxceptions, 0.4.5"
// Install EFxceptions as a Cake Addin #addin nuget:?package=EFxceptions&version=0.4.5 // Install EFxceptions as a Cake Tool #tool nuget:?package=EFxceptions&version=0.4.5
<p align="center"> <img width="25%" height="25%" src="https://github.com/hassanhabib/EFxceptions/blob/master/EFxceptions.Shared/Resources/EFxceptions.png?raw=true"> </p>
EFxceptions
We have designed and developed this library as a wrapper around the existing EntityFramework DbContext implementation to provide the following values:
<ol> <li>Meaningful Exceptions for SQL error codes.</li> <li>Simplified integrations</li> <li>Test-friendly implementation.</li> </ol>
<br>
EFxeptions.Identity
A dedicated EFxeptions port that provides an EFxceptionContext
that inherits from Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext
to inherit from, to support Microsoft ASP.Core Identity using EF Core.
Available in the EFxceptions.Identity package.
Installation
You can get EFxceptions Nuget package by typing:
Install-Package EFxceptions
<br>
Integration
Replace your existing DbContext
class with EFxceptionsContext
(or your IdentityDbContext
with EFxeption.EFxceptionIdentityContext
) as follows:
Before:
public partial class StorageBroker : DbContext, IStorageBroker
{
public StorageBroker(DbContextOptions<StorageBroker> options)
: base(options) => this.Database.Migrate();
}
After:
public partial class StorageBroker : EFxceptionsContext, IStorageBroker
{
public StorageBroker(DbContextOptions<StorageBroker> options)
: base(options) => this.Database.Migrate();
}
<br>
Supported SQL Error Codes
SQL server supports over 41,000 error codes, here's the codes that this library supports so far:
Code | Meanings | Exception |
---|---|---|
207 | Invalid column name '%.*ls'. | InvalidColumnNameException |
208 | Invalid object name '%.*ls'. | InvalidObjectNameException |
547 | The %ls statement conflicted with the %ls constraint "%.*ls". The conflict occurred in database "%.*ls", table "%.*ls"%ls%.*ls%ls. | ForeignKeyConstraintConflictException |
2627 | Violation of %ls constraint '%.*ls'. Cannot insert duplicate key in object '%.*ls'. | DuplicateKeyException |
<br >
This library is forever growing as we add more exceptions and codes into it, we appreciate any contributions as there are so many codes we need to cover, so please stay tuned.
<br />
If you have any suggestions, comments or questions, please feel free to contact me on: <br /> Twitter: @hassanrezkhabib <br /> LinkedIn: hassanrezkhabib <br /> E-Mail: hassanhabib@live.com <br />
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Data.SqlClient (>= 2.0.0)
- Microsoft.EntityFrameworkCore (>= 3.1.5)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on EFxceptions:
Package | Downloads |
---|---|
Security.Data
Package Description |
|
TheStandardBox.Data
A .NET Library for essential code according to The Standard |
|
EventHighway
Standard-Compliant Open-Source Pub/Sub .NET library for managing events in distributed systems. |
|
FiscaliaTucuman.Infrastructure.Commons
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Handle DuplicateKeyWithUniqueIndexException for SQL code 2601