dotConnect for SQLite 5.18 is released!

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for SQLite
Locked
Devart
Site Admin
Posts: 3974
Joined: Tue 26 Oct 2004 13:51

dotConnect for SQLite 5.18 is released!

Post by Devart » Thu 30 Sep 2021 11:04

Dear users,

Devart is glad to announce the release of dotConnect for SQLite 5.18 — a powerful ADO.NET provider for SQLite with advanced support for Entity Framework, Entity Framework Core, LinqConnect (LINQ to SQLite) and NHibernate. The new version of Devart dotConnect for SQLite contains significant improvements of Entity Framework Core support, improving Entity Framework Core Code-First Migrations a lot and adding support for previously unsupported operations. Besides, we supported mapping of more .NET data types and extended capabilities of LINQ query translation to SQL.

LINQ to Entities Improvements

dotConnect for SQLite now supports translation of the following LINQ features to SQL for both EF Core 3 and EF Core 5:
  • The static IsNullOrWhiteSpace() method of the String class
  • The static Today property and instance DayOfWeek and Ticks properties of the DateTime class
  • The following static methods of the Math class: Abs(), Round(), Truncate(), Floor(), Ceiling(), Max(), Min(), Pow(), Sqrt(), Log(), Log10(), Sin(), Cos(), Tan(), Asin(), Acos(), Atan()
Full Text Search and Database-specific Functions Support for EF Core

The SQLiteFunctions and SQLiteTextFunctions classes, used for calling database-specific functions and full-text search functions in Entity Framework v4 – v6, are now available for Entity Framework Core.

Uri Data Type Mapping

For Entity Framework Core 3 and 5, dotConnect for SQLite now supports mapping the internet/intranet System.Uri type to SQLite ‘text’ data type.

Code-First Migrations Improvements

SQLite database engine has significant architectural limitations for the ALTER TABLE operation. This is why dotConnect for SQLite didn’t have support for a number of EF Core Code-First Migrations operations. The new dotConnect for SQLite version provides support for more operations via a workaround with creating a new table and copying data from the old table to it:
  • AlterColumn
  • RenameColumn (for SQLite 3.24 or lower)
  • DropColumn (for SQLite 3.34 or lower)
  • AddForeignKey
  • DropForeignKey
  • AddPrimaryKey
  • DropPrimaryKey
Two of the new operations, RenameColumn and DropColumn, are supported in two different modes:
  • If SQLite is of version 3.25/3.35 or higher, the native SQLite ALTER TABLE RENAME COLUMN and ALTER TABLE DROP COLUMN commands, which are supported since these versions, are used.
  • If SQLite version is lower, the workaround with re-creating a table is used.
For examples and more information about these features, red our bog article.

Here is the complete list of dotConnect for SQLite 5.18.1985 features:

Entity Developer
  • The new property Validation Framework is implemented in the Data Transfer Object template for generating DataAnnotations attributes
  • The Uri data type is supported in EF Core Model
  • The new option "Save connection to" is implemented in Model Settings of EF Core Model to provide the ability to store the connection string in "Model file", "Entity Developer storage", "Environment variable"
  • The new option "Enum Output" is added to the EF Core template to specify output for the generated enums
  • The new property Generate UnitOfWork Repository Properties (by default, True) is implemented in the Repository and Unit Of Work template of EF Core Model for accessing the collections of entities
  • The representation of one-to-one association with non-nullable properties on both ends is changed from 1 -> 1 to 0..1 -> 1 on a diagram in EF Core Model
  • The bug throwing "Unknown property 'DoNotSerialize'.", when complex types and VB.NET template are used in EF Core Model, is fixed
  • The bug with code generation for the Constrained option of Association Editor in the case of 0..1 -> 1 association in EF Core Model is fixed
Entity Framework support
  • Entity Framework Core 5.0.10 is supported
  • Entity Framework Core 3.1.19 is supported
  • The following Code-First Migration operations are supported in EF Core 3 and EF Core 5 via recreating a table and copying the existing data:
    • AlterColumn
    • RenameColumn (SQLite 3.24 and below)
    • DropColumn (SQLite 3.34 and below)
    • AddForeignKey
    • DropForeignKey
    • AddPrimaryKey
    • DropPrimaryKey
  • The SQL translation of the following class members used in LINQ query is supported in EF Core 3 and EF Core 5:
    • static method IsNullOrWhiteSpace() of the String class
    • static property Today and instance properties DayOfWeek, Ticks of the DateTime class
    • static methods Max(), Min(), Sqrt(), Log(), Log10(), Sin(), Cos(), Tan(), Asin(), Acos(), Atan() of the Math class
  • Mapping of System.Decimal to SQLite DECIMAL with specified precision and scale in EF Core 5 is supported
  • Mapping of internet/intranet data type System.Uri to SQLite TEXT is supported in EF Core 3 and EF Core 5
  • Mapping of network data types System.Net.IPAddress and System.Net.NetworkInformation.PhysicalAddress to SQLite TEXT is supported in EF Core 5
  • The SQL translation of the following static methods of the MathF class used in LINQ query is supported in EF Core 5: Abs(), Round(), Truncate(), Floor(), Ceiling(), Max(), Min(), Pow(), Sqrt(), Log(), Log10(), Sin(), Cos(), Tan(), Asin(), Acos(), Atan()
  • The definition of System.ICloneable is removed from .NET Framework assembly \Entity\EFCore3\Devart.Data.SQLite.Entity.EFCore.dll
Devart development team
http://www.devart.com/dotconnect/sqlite/

Locked