SQLite filtering TDateTime problem

When I try to apply a standard date time filtering in SQLite the SQL Generated is not valid.



    LC := FAureliusManagerArc.Find<TOfferte>
      .Add(TExpression.GreaterOrEqual('DateBegin', DateOf(AData)))
      .Add(TExpression.LessOrEqual('DateEnd', DateOf(AData)))
      .AddOrder(TOrder.Desc('DateBegin'));
    Result := LC.Take(1).UniqueResult;


I found the problem.
The problem is when TDateTime param is converted in SQLite generator:

Aurelius.Commands.AbstractCommandPerformer at line 157 there is the conversion for unsupported data type. A TDateTime param will be converted into Float, but this is a problem with SQLite because it must be converted to a string like "yyyy-mm-dd".

You can change the SQLite generator behavior and ask him to write dates in Julian day format, or Text format. To do that, add this code to the beginning of your application:

Uses
 Aurelius.Sql.SQLite, Aurelius.Sql.Register;

Var
 SQLiteGenerator: TSQLiteSQLGenerator;
begin
 SQLiteGenerator := TSQLiteSQLGenerator.Create; 

//  SQLiteGenerator.DateType := TSQLiteSQLGenerator.TDateType.Delphi;
//  SQLiteGenerator.DateType := TSQLiteSQLGenerator.TDateType.Julian;
 SQLiteGenerator.DateType := TSQLiteSQLGenerator.TDateType.Text;
 TSQLGeneratorRegister.GetInstance.RegisterGenerator(SQLiteGenerator);