Andrea Canciani

Results 32 issues of Andrea Canciani

The `SqlExpressionSimplifyingExpressionVisitor` performs an [invalid optimization](https://github.com/dotnet/efcore/blob/v8.0.5/src/EFCore.Relational/Query/Internal/SqlExpressionSimplifyingExpressionVisitor.cs#L203-L218) of `CASE-WHEN` expressions: ```csharp // generic CASE statement comparison optimization: // (CASE // WHEN condition1 THEN result1 // WHEN condition2 THEN result2 // WHEN...

type-bug
customer-reported
area-query

Most SQL engines support the `IS [NOT] DISTINCT FROM` predicate, which conveniently matches C# semantics for `!=`/`==`. Where available (and efficient aka supported by indexes), using it can lead to...

When a CASE expression simply replicates SQL null propagation, simplify it. Contributes to #34126.

This changeset enables the testing of compiled models on SQLite regardless of the availability of spatial extensions.

When the parent expression is not a predicate, translate `x != y` to: ```sql x ^ y ``` instead of ```sql CASE WHEN x y THEN CAST(1 AS bit) ELSE...

We can optimize some case block for nullability by letting expressions take care of it instead of doing explicit checks. ```csharp db.Set().Select( x => x.NullableStringA != null && x.NullableStringB !=...

customer-reported

They do not depend on the presence of Spatialite.

Drop all of the arguments after the first non-nullable sub-expressions. Simplify unary `COALESCE` to its argument.

The SqlServer provider never returns `null` for `bool?` expressions; instead it returns `false`. An example program that showcases the bug is: ```C# using System; using System.Data; using System.Linq; using Microsoft.EntityFrameworkCore;...

customer-reported
area-query

This PR makes most `Nullable` types have a string representation that is consistent with C#. Contributes to #33942.