Skip to content

9.0.0

Latest
Compare
Choose a tag to compare
@ChrisJollyAU ChrisJollyAU released this 25 Apr 10:14
· 4 commits to master since this release
563008f

The RTM version of EFCore.Jet 9 is now out. Targeted at EFCore 9.0.4

New Features

  • Updated to EF Core 9 #251
  • Create sequential GUID following the UUID Version 7 definition #254
  • Guids for the primary key are generated client-side now. There is only a way to get a numerical primary key last inserted value in Jet. Hence anything depending on that would never work as it couldn't query the last inserted Guid. #257
  • TimeOnly.FromDateTime and TimeOnly.FromTimeSpan is now translated #259
  • SearchConditionExpressionVisitor: From improvements made to the SQL Server version, add them to here. #255
    • <> TRUE becomes = FALSE
    • Use bitwise XOR (BXOR in Jet) for multiple optimizations with nullable boolean expressions
  • The sort order for Indexes is now added. Part of #256
    • We now generate SQL code to create the indexes with the respective sort order for each index column.
    • The Database Model is now set properly when reading the details of the database into the model
  • Add Standard Deviation and variance functions to EF.Functions (#269)
  • Add translations for Math.Min, Math.Max, Greatest, Least (#270)
  • Update the History Repository to use the new locking mechanism
  • Added some workarounds for certain operations within a transaction (#276)

Bug fixes

  • Tests: Multiple fixes due to optimization improvements made by EF Core itself
  • Fix shared column validating when using view splitting #258
  • Improvements to the migrations sql #256
    • Updating a column has the following improvements
      • Don't generate an unnecessary ALTER TABLE
      • If the column is being made non-nullable (when originally null), create an UPDATE statement to set the value of that column to the default value for those where the current value is NULL
  • Null Semantics Tests: A test used the parent BoolTypeMapping and true was translated as 1. Jet uses -1 for true so override default behaviour to produce the sql literal of TRUE. Also adds some further tests to the overrides so we can test the sql #260
  • Use the lowest possible value of DateTime (1 Jan 100) when using a FirstOrDefault. A 0 in Jet/OLE Automation is not actually the lowest possible value
  • The type mapping for the translation of TimeOfDay was returning a DateTime and not TimeSpan
  • When reading a value for the TimeSpan and TimeOnly don't convert the default 0 to the c# 0 like we do for DateTime
  • A primary key with type of short can also be mapped to a counter type if it needs to be an auto incrementing key
  • Tests: Multiple fixes due to optimization improvements made by EF Core itself
  • Don't do any conversion in sql for byte array (#266)
  • Some identity properties on a class mapped to json didn't get the correct ValueGenerated value
  • Removed the handling of GO in the SQL of SqlOperation migrations. GO is a Sql Server specific command and is irrelevant to Jet
  • DateTime's less than 1899-30-12 had some problems when generating an inline constant string