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 Guid
s 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 insertedGuid
. #257TimeOnly.FromDateTime
andTimeOnly.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 isNULL
- Don't generate an unnecessary
- Updating a column has the following improvements
- Null Semantics Tests: A test used the parent
BoolTypeMapping
and true was translated as1
. Jet uses-1
for true so override default behaviour to produce the sql literal ofTRUE
. 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 aFirstOrDefault
. A0
in Jet/OLE Automation is not actually the lowest possible value - The type mapping for the translation of
TimeOfDay
was returning aDateTime
and notTimeSpan
- When reading a value for the
TimeSpan
andTimeOnly
don't convert the default0
to the c# 0 like we do forDateTime
- A primary key with type of
short
can also be mapped to acounter
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