Skip to content

Commit 523011b

Browse files
committed
Translate >= && <= into BETWEEN in Firebird Entity Framework Core provider
1 parent 00ddffc commit 523011b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/SqlQueryFbTest.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,13 @@
1515

1616
//$Authors = Jiri Cincura (jiri@cincura.net)
1717

18+
using System;
1819
using System.Data.Common;
20+
using System.Linq;
1921
using System.Threading.Tasks;
2022
using FirebirdSql.Data.FirebirdClient;
2123
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Helpers;
24+
using Microsoft.EntityFrameworkCore;
2225
using Microsoft.EntityFrameworkCore.Query;
2326
using Microsoft.EntityFrameworkCore.TestUtilities;
2427
using Xunit;
@@ -151,6 +154,23 @@ public override Task SqlQueryRaw_queryable_simple_different_cased_columns_and_no
151154
return base.SqlQueryRaw_queryable_simple_different_cased_columns_and_not_enough_columns_throws(async);
152155
}
153156

157+
[Fact]
158+
public async Task Where_datetime_between_translated_correctly()
159+
{
160+
using var context = CreateContext();
161+
162+
var inicio = new DateTime(2026, 1, 1);
163+
var fim = new DateTime(2026, 1, 31);
164+
165+
var query = context.Orders
166+
.Where(o => o.OrderDate >= inicio && o.OrderDate <= fim);
167+
168+
var sql = query.ToQueryString();
169+
170+
Assert.Contains("BETWEEN", sql);
171+
Assert.Contains("AND", sql);
172+
}
173+
154174
protected override DbParameter CreateDbParameter(string name, object value)
155175
=> new FbParameter { ParameterName = name, Value = value };
156176
}

0 commit comments

Comments
 (0)