Adds basic support for "Upsert" operations to EF Core.
Uses `INSERT … ON CONFLICT DO UPDATE` in PostgreSQL/Sqlite, `MERGE` in SqlServer and `INSERT INTO … ON DUPLICATE KEY UPDATE` in MySQL.
Also supports injecting sql command generators to add support for other providers
+ Adding support for null value upsert matches
! The dbcommand would sometimes be disposed of before finishing the execution of the query!
+ Adding the number of rows affected as the return of the Run/RunAsync calls
! Checking arguments for validity and null references before processing
! Patching incorrectly constructed SQL statement in case no columns need updating
+ Adding support for EF 2.1 Type Conversions
+ Adding support for static property/field accessors (e.g. DateTime.Now)
* Explicitly throwing an exception when using identity keys as upsert match columns (since it wouldn't have worked correctly anyway)
+ Added help links to exceptions linking to more details
+ Added support for basic type conversions and modulo operator in expressions
- Microsoft.EntityFrameworkCore.Relational (>= 2.1.0)