// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Threading.Tasks ;
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities ;
namespace EntityFrameworkCore.Jet.FunctionalTests.Query
{
public partial class SimpleQueryJetTest
{
public override async Task Where_simple ( bool isAsync )
{
await base . Where_simple ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = ' London ' ");
}
public override async Task Where_as_queryable_expression ( bool isAsync )
{
await base . Where_as_queryable_expression ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE EXISTS (
SELECT 1
FROM ` Orders ` AS ` o `
WHERE ( ` c ` . ` CustomerID ` = ` o ` . ` CustomerID ` ) AND ( ` o ` . ` CustomerID ` = ' ALFKI ' ) ) ");
}
public override async Task Where_simple_closure ( bool isAsync )
{
await base . Where_simple_closure ( isAsync ) ;
AssertSql (
$ @ "@__city_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_0" ) } ");
}
public override async Task Where_indexer_closure ( bool isAsync )
{
await base . Where_indexer_closure ( isAsync ) ;
AssertSql (
$ @ "@__p_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__p_0" ) } ");
}
public override async Task Where_dictionary_key_access_closure ( bool isAsync )
{
await base . Where_dictionary_key_access_closure ( isAsync ) ;
AssertSql (
$ @ "@__get_Item_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__get_Item_0" ) } ");
}
public override async Task Where_tuple_item_closure ( bool isAsync )
{
await base . Where_tuple_item_closure ( isAsync ) ;
AssertSql (
$ @ "@__predicateTuple_Item2_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__predicateTuple_Item2_0" ) } ");
}
public override async Task Where_named_tuple_item_closure ( bool isAsync )
{
await base . Where_named_tuple_item_closure ( isAsync ) ;
AssertSql (
$ @ "@__predicateTuple_Item2_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__predicateTuple_Item2_0" ) } ");
}
public override async Task Where_simple_closure_constant ( bool isAsync )
{
await base . Where_simple_closure_constant ( isAsync ) ;
AssertSql (
$ @ "@__predicate_0='True'
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE { AssertSqlHelper . Parameter ( "@__predicate_0" ) } = True ");
}
public override async Task Where_simple_closure_via_query_cache ( bool isAsync )
{
await base . Where_simple_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__city_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_0" ) } ",
/ /
$ @ "@__city_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_0" ) } ");
}
public override async Task Where_method_call_nullable_type_closure_via_query_cache ( bool isAsync )
{
await base . Where_method_call_nullable_type_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__p_0='2' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` ReportsTo ` AS bigint ) = { AssertSqlHelper . Parameter ( "@__p_0" ) } ",
/ /
$ @ "@__p_0='5' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` ReportsTo ` AS bigint ) = { AssertSqlHelper . Parameter ( "@__p_0" ) } ");
}
public override async Task Where_method_call_nullable_type_reverse_closure_via_query_cache ( bool isAsync )
{
await base . Where_method_call_nullable_type_reverse_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__p_0='1' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` EmployeeID ` AS bigint ) > { AssertSqlHelper . Parameter ( "@__p_0" ) } ",
/ /
$ @ "@__p_0='5' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` EmployeeID ` AS bigint ) > { AssertSqlHelper . Parameter ( "@__p_0" ) } ");
}
public override async Task Where_method_call_closure_via_query_cache ( bool isAsync )
{
await base . Where_method_call_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__GetCity_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__GetCity_0" ) } ",
/ /
$ @ "@__GetCity_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__GetCity_0" ) } ");
}
public override async Task Where_field_access_closure_via_query_cache ( bool isAsync )
{
await base . Where_field_access_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__city_InstanceFieldValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_InstanceFieldValue_0" ) } ",
/ /
$ @ "@__city_InstanceFieldValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_InstanceFieldValue_0" ) } ");
}
public override async Task Where_property_access_closure_via_query_cache ( bool isAsync )
{
await base . Where_property_access_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__city_InstancePropertyValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_InstancePropertyValue_0" ) } ",
/ /
$ @ "@__city_InstancePropertyValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_InstancePropertyValue_0" ) } ");
}
public override async Task Where_static_field_access_closure_via_query_cache ( bool isAsync )
{
await base . Where_static_field_access_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__StaticFieldValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__StaticFieldValue_0" ) } ",
/ /
$ @ "@__StaticFieldValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__StaticFieldValue_0" ) } ");
}
public override async Task Where_static_property_access_closure_via_query_cache ( bool isAsync )
{
await base . Where_static_property_access_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__StaticPropertyValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__StaticPropertyValue_0" ) } ",
/ /
$ @ "@__StaticPropertyValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__StaticPropertyValue_0" ) } ");
}
public override async Task Where_nested_field_access_closure_via_query_cache ( bool isAsync )
{
await base . Where_nested_field_access_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__city_Nested_InstanceFieldValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_Nested_InstanceFieldValue_0" ) } ",
/ /
$ @ "@__city_Nested_InstanceFieldValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_Nested_InstanceFieldValue_0" ) } ");
}
public override async Task Where_nested_property_access_closure_via_query_cache ( bool isAsync )
{
await base . Where_nested_property_access_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__city_Nested_InstancePropertyValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_Nested_InstancePropertyValue_0" ) } ",
/ /
$ @ "@__city_Nested_InstancePropertyValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__city_Nested_InstancePropertyValue_0" ) } ");
}
public override async Task Where_new_instance_field_access_query_cache ( bool isAsync )
{
await base . Where_new_instance_field_access_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__InstanceFieldValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__InstanceFieldValue_0" ) } ",
/ /
$ @ "@__InstanceFieldValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__InstanceFieldValue_0" ) } ");
}
public override async Task Where_new_instance_field_access_closure_via_query_cache ( bool isAsync )
{
await base . Where_new_instance_field_access_closure_via_query_cache ( isAsync ) ;
AssertSql (
$ @ "@__InstanceFieldValue_0='London' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__InstanceFieldValue_0" ) } ",
/ /
$ @ "@__InstanceFieldValue_0='Seattle' (Size = 4000)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = { AssertSqlHelper . Parameter ( "@__InstanceFieldValue_0" ) } ");
}
public override async Task Where_simple_closure_via_query_cache_nullable_type ( bool isAsync )
{
await base . Where_simple_closure_via_query_cache_nullable_type ( isAsync ) ;
AssertSql (
$ @ "@__p_0='2' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` ReportsTo ` AS bigint ) = { AssertSqlHelper . Parameter ( "@__p_0" ) } ",
/ /
$ @ "@__p_0='5' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` ReportsTo ` AS bigint ) = { AssertSqlHelper . Parameter ( "@__p_0" ) } ",
/ /
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` IS NULL ");
}
public override async Task Where_simple_closure_via_query_cache_nullable_type_reverse ( bool isAsync )
{
await base . Where_simple_closure_via_query_cache_nullable_type_reverse ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` IS NULL ",
/ /
$ @ "@__p_0='5' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` ReportsTo ` AS bigint ) = { AssertSqlHelper . Parameter ( "@__p_0" ) } ",
/ /
$ @ "@__p_0='2' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE CAST ( ` e ` . ` ReportsTo ` AS bigint ) = { AssertSqlHelper . Parameter ( "@__p_0" ) } ");
}
public override void Where_subquery_closure_via_query_cache ( )
{
base . Where_subquery_closure_via_query_cache ( ) ;
AssertSql (
$ @ "@__customerID_0='ALFKI' (Size = 5)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE EXISTS (
SELECT 1
FROM ` Orders ` AS ` o `
WHERE ( ` o ` . ` CustomerID ` = { AssertSqlHelper . Parameter ( "@__customerID_0" ) } ) AND ( ` o ` . ` CustomerID ` = ` c ` . ` CustomerID ` ) ) ",
/ /
$ @ "@__customerID_0='ANATR' (Size = 5)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE EXISTS (
SELECT 1
FROM ` Orders ` AS ` o `
WHERE ( ` o ` . ` CustomerID ` = { AssertSqlHelper . Parameter ( "@__customerID_0" ) } ) AND ( ` o ` . ` CustomerID ` = ` c ` . ` CustomerID ` ) ) ");
}
public override async Task Where_bitwise_or ( bool isAsync )
{
await base . Where_bitwise_or ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ( IIF ( ` c ` . ` CustomerID ` = ' ALFKI ' , 1 , 0 ) BOR IIF ( ` c ` . ` CustomerID ` = ' ANATR ' , 1 , 0 ) ) = True ");
}
public override async Task Where_bitwise_and ( bool isAsync )
{
await base . Where_bitwise_and ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ( IIF ( ` c ` . ` CustomerID ` = ' ALFKI ' , 1 , 0 ) BAND IIF ( ` c ` . ` CustomerID ` = ' ANATR ' , 1 , 0 ) ) = True ");
}
public override async Task Where_bitwise_xor ( bool isAsync )
{
await base . Where_bitwise_xor ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_simple_shadow ( bool isAsync )
{
await base . Where_simple_shadow ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` Title ` = ' Sales Representative ' ");
}
public override async Task Where_simple_shadow_projection ( bool isAsync )
{
await base . Where_simple_shadow_projection ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` Title ` = ' Sales Representative ' ");
}
public override async Task Where_shadow_subquery_FirstOrDefault ( bool isAsync )
{
await base . Where_shadow_subquery_FirstOrDefault ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
//FROM `Employees` AS `e`
//WHERE `e`.`Title` = (
// SELECT TOP 1 `e2`.`Title`
// FROM `Employees` AS `e2`
// ORDER BY `e2`.`Title`
//)");
}
public override async Task Where_subquery_correlated ( bool isAsync )
{
await base . Where_subquery_correlated ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE EXISTS (
SELECT 1
FROM ` Customers ` AS ` c0 `
WHERE ` c ` . ` CustomerID ` = ` c0 ` . ` CustomerID ` ) ");
}
public override async Task Where_equals_method_string ( bool isAsync )
{
await base . Where_equals_method_string ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` = ' London ' ");
}
public override async Task Where_equals_method_int ( bool isAsync )
{
await base . Where_equals_method_int ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` EmployeeID ` = 1 ");
}
public override async Task Where_equals_using_object_overload_on_mismatched_types ( bool isAsync )
{
await base . Where_equals_using_object_overload_on_mismatched_types ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE False = True ");
// See issue#17498
//Assert.Contains(
// RelationalStrings.LogPossibleUnintendedUseOfEquals.GenerateMessage(
// "e.EmployeeID.Equals(Convert(__longPrm_0, Object))"), Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
}
public override async Task Where_equals_using_int_overload_on_mismatched_types ( bool isAsync )
{
await base . Where_equals_using_int_overload_on_mismatched_types ( isAsync ) ;
AssertSql (
$ @ "@__p_0='1'
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` EmployeeID ` = { AssertSqlHelper . Parameter ( "@__p_0" ) } ");
}
public override async Task Where_equals_on_mismatched_types_nullable_int_long ( bool isAsync )
{
await base . Where_equals_on_mismatched_types_nullable_int_long ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE False = True ",
/ /
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE False = True ");
// See issue#17498
//Assert.Contains(
// RelationalStrings.LogPossibleUnintendedUseOfEquals.GenerateMessage(
// "__longPrm_0.Equals(Convert(e.ReportsTo, Object))"), Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
//Assert.Contains(
// RelationalStrings.LogPossibleUnintendedUseOfEquals.GenerateMessage(
// "e.ReportsTo.Equals(Convert(__longPrm_0, Object))"), Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
}
public override async Task Where_equals_on_mismatched_types_nullable_long_nullable_int ( bool isAsync )
{
await base . Where_equals_on_mismatched_types_nullable_long_nullable_int ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE False = True ",
/ /
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE False = True ");
// See issue#17498
//Assert.Contains(
// RelationalStrings.LogPossibleUnintendedUseOfEquals.GenerateMessage(
// "__nullableLongPrm_0.Equals(Convert(e.ReportsTo, Object))"),
// Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
//Assert.Contains(
// RelationalStrings.LogPossibleUnintendedUseOfEquals.GenerateMessage(
// "e.ReportsTo.Equals(Convert(__nullableLongPrm_0, Object))"),
// Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
}
public override async Task Where_equals_on_mismatched_types_int_nullable_int ( bool isAsync )
{
await base . Where_equals_on_mismatched_types_int_nullable_int ( isAsync ) ;
AssertSql (
$ @ "@__intPrm_0='2'
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` = { AssertSqlHelper . Parameter ( "@__intPrm_0" ) } ",
/ /
$ @ "@__intPrm_0='2'
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE { AssertSqlHelper . Parameter ( "@__intPrm_0" ) } = ` e ` . ` ReportsTo ` ");
}
public override async Task Where_equals_on_matched_nullable_int_types ( bool isAsync )
{
await base . Where_equals_on_matched_nullable_int_types ( isAsync ) ;
AssertSql (
$ @ "@__nullableIntPrm_0='2' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE { AssertSqlHelper . Parameter ( "@__nullableIntPrm_0" ) } = ` e ` . ` ReportsTo ` ",
/ /
$ @ "@__nullableIntPrm_0='2' (Nullable = true)
SELECT ` e ` . ` EmployeeID ` , ` e ` . ` City ` , ` e ` . ` Country ` , ` e ` . ` FirstName ` , ` e ` . ` ReportsTo ` , ` e ` . ` Title `
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` = { AssertSqlHelper . Parameter ( "@__nullableIntPrm_0" ) } ");
}
public override async Task Where_equals_on_null_nullable_int_types ( bool isAsync )
{
await base . Where_equals_on_null_nullable_int_types ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` IS NULL ",
/ /
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` IS NULL ");
}
public override async Task Where_comparison_nullable_type_not_null ( bool isAsync )
{
await base . Where_comparison_nullable_type_not_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` = 2 ");
}
public override async Task Where_comparison_nullable_type_null ( bool isAsync )
{
await base . Where_comparison_nullable_type_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ` e ` . ` ReportsTo ` IS NULL ");
}
public override async Task Where_string_length ( bool isAsync )
{
await base . Where_string_length ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE CAST ( LEN ( ` c ` . ` City ` ) AS int ) = 6 ");
}
public override async Task Where_string_indexof ( bool isAsync )
{
await base . Where_string_indexof ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ( CASE
WHEN ' Sea ' = ' ' THEN 0
ELSE CHARINDEX ( ' Sea ' , ` c ` . ` City ` ) - 1
END < > - 1 ) OR CASE
WHEN ' Sea ' = ' ' THEN 0
ELSE CHARINDEX ( ' Sea ' , ` c ` . ` City ` ) - 1
END IS NULL ");
}
public override async Task Where_string_replace ( bool isAsync )
{
await base . Where_string_replace ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE REPLACE ( ` c ` . ` City ` , ' Sea ' , ' Rea ' ) = ' Reattle ' ");
}
public override async Task Where_string_substring ( bool isAsync )
{
await base . Where_string_substring ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE SUBSTRING ( ` c ` . ` City ` , 1 + 1 , 2 ) = ' ea ' ");
}
public override async Task Where_datetime_now ( bool isAsync )
{
await base . Where_datetime_now ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"@__myDatetime_0='2015-04-10T00:00:00'
//SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
//FROM `Customers` AS `c`
//WHERE GETDATE() <> @__myDatetime_0");
}
public override async Task Where_datetime_utcnow ( bool isAsync )
{
await base . Where_datetime_utcnow ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"@__myDatetime_0='2015-04-10T00:00:00'
//SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
//FROM `Customers` AS `c`
//WHERE GETUTCDATE() <> @__myDatetime_0");
}
public override async Task Where_datetime_today ( bool isAsync )
{
await base . Where_datetime_today ( isAsync ) ;
AssertSql (
$ @ "SELECT `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Employees ` AS ` e `
WHERE ( CONVERT ( date , GETDATE ( ) ) = CONVERT ( date , GETDATE ( ) ) ) OR CONVERT ( date , GETDATE ( ) ) IS NULL ");
}
public override async Task Where_datetime_date_component ( bool isAsync )
{
await base . Where_datetime_date_component ( isAsync ) ;
AssertSql (
$ @ "@__myDatetime_0='1998-05-04T00:00:00' (DbType = DateTime)
SELECT ` o ` . ` OrderID ` , ` o ` . ` CustomerID ` , ` o ` . ` EmployeeID ` , ` o ` . ` OrderDate `
FROM ` Orders ` AS ` o `
WHERE CONVERT ( date , ` o ` . ` OrderDate ` ) = { AssertSqlHelper . Parameter ( "@__myDatetime_0" ) } ");
}
public override async Task Where_date_add_year_constant_component ( bool isAsync )
{
await base . Where_date_add_year_constant_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( ' yyyy ' , DATEADD ( ' yyyy ' , CAST ( - 1 AS int ) , ` o ` . ` OrderDate ` ) ) = 1997 ");
}
public override async Task Where_datetime_year_component ( bool isAsync )
{
await base . Where_datetime_year_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( ' yyyy ' , ` o ` . ` OrderDate ` ) = 1998 ");
}
public override async Task Where_datetime_month_component ( bool isAsync )
{
await base . Where_datetime_month_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( 'm' , ` o ` . ` OrderDate ` ) = 4 ");
}
public override async Task Where_datetime_dayOfYear_component ( bool isAsync )
{
await base . Where_datetime_dayOfYear_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( dayofyear , ` o ` . ` OrderDate ` ) = 68 ");
}
public override async Task Where_datetime_day_component ( bool isAsync )
{
await base . Where_datetime_day_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( 'd' , ` o ` . ` OrderDate ` ) = 4 ");
}
public override async Task Where_datetime_hour_component ( bool isAsync )
{
await base . Where_datetime_hour_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( 'h' , ` o ` . ` OrderDate ` ) = 14 ");
}
public override async Task Where_datetime_minute_component ( bool isAsync )
{
await base . Where_datetime_minute_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( 'n' , ` o ` . ` OrderDate ` ) = 23 ");
}
public override async Task Where_datetime_second_component ( bool isAsync )
{
await base . Where_datetime_second_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( 's' , ` o ` . ` OrderDate ` ) = 44 ");
}
public override async Task Where_datetime_millisecond_component ( bool isAsync )
{
await base . Where_datetime_millisecond_component ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE DATEPART ( millisecond , ` o ` . ` OrderDate ` ) = 88 ");
}
public override async Task Where_datetimeoffset_now_component ( bool isAsync )
{
await base . Where_datetimeoffset_now_component ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
//FROM `Orders` AS `o`
//WHERE `o`.`OrderDate` = SYSDATETIMEOFFSET()");
}
public override async Task Where_datetimeoffset_utcnow_component ( bool isAsync )
{
await base . Where_datetimeoffset_utcnow_component ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
//FROM `Orders` AS `o`
//WHERE `o`.`OrderDate` = CAST(SYSUTCDATETIME() AS datetimeoffset)");
}
public override async Task Where_simple_reversed ( bool isAsync )
{
await base . Where_simple_reversed ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ' London ' = ` c ` . ` City ` ");
}
public override async Task Where_is_null ( bool isAsync )
{
await base . Where_is_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` IS NULL ");
}
public override async Task Where_null_is_null ( bool isAsync )
{
await base . Where_null_is_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_constant_is_null ( bool isAsync )
{
await base . Where_constant_is_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE False = True ");
}
public override async Task Where_is_not_null ( bool isAsync )
{
await base . Where_is_not_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` IS NOT NULL ");
}
public override async Task Where_null_is_not_null ( bool isAsync )
{
await base . Where_null_is_not_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE False = True ");
}
public override async Task Where_constant_is_not_null ( bool isAsync )
{
await base . Where_constant_is_not_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_identity_comparison ( bool isAsync )
{
await base . Where_identity_comparison ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ( ` c ` . ` City ` = ` c ` . ` City ` ) OR ` c ` . ` City ` IS NULL ");
}
public override async Task Where_in_optimization_multiple ( bool isAsync )
{
await base . Where_in_optimization_multiple ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`, `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Customers ` AS ` c ` ,
` Employees ` AS ` e `
WHERE ( ( ( ` c ` . ` City ` = ' London ' ) OR ( ` c ` . ` City ` = ' Berlin ' ) ) OR ( ` c ` . ` CustomerID ` = ' ALFKI ' ) ) OR ( ` c ` . ` CustomerID ` = ' ABCDE ' ) ");
}
public override async Task Where_not_in_optimization1 ( bool isAsync )
{
await base . Where_not_in_optimization1 ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`, `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Customers ` AS ` c ` ,
` Employees ` AS ` e `
WHERE ( ( ` c ` . ` City ` < > ' London ' ) OR ` c ` . ` City ` IS NULL ) AND ( ( ` e ` . ` City ` < > ' London ' ) OR ` e ` . ` City ` IS NULL ) ");
}
public override async Task Where_not_in_optimization2 ( bool isAsync )
{
await base . Where_not_in_optimization2 ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`, `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Customers ` AS ` c ` ,
` Employees ` AS ` e `
WHERE ( ( ` c ` . ` City ` < > ' London ' ) OR ` c ` . ` City ` IS NULL ) AND ( ( ` c ` . ` City ` < > ' Berlin ' ) OR ` c ` . ` City ` IS NULL ) ");
}
public override async Task Where_not_in_optimization3 ( bool isAsync )
{
await base . Where_not_in_optimization3 ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`, `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Customers ` AS ` c ` ,
` Employees ` AS ` e `
WHERE ( ( ( ` c ` . ` City ` < > ' London ' ) OR ` c ` . ` City ` IS NULL ) AND ( ( ` c ` . ` City ` < > ' Berlin ' ) OR ` c ` . ` City ` IS NULL ) ) AND ( ( ` c ` . ` City ` < > ' Seattle ' ) OR ` c ` . ` City ` IS NULL ) ");
}
public override async Task Where_not_in_optimization4 ( bool isAsync )
{
await base . Where_not_in_optimization4 ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`, `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Customers ` AS ` c ` ,
` Employees ` AS ` e `
WHERE ( ( ( ( ` c ` . ` City ` < > ' London ' ) OR ` c ` . ` City ` IS NULL ) AND ( ( ` c ` . ` City ` < > ' Berlin ' ) OR ` c ` . ` City ` IS NULL ) ) AND ( ( ` c ` . ` City ` < > ' Seattle ' ) OR ` c ` . ` City ` IS NULL ) ) AND ( ( ` c ` . ` City ` < > ' Lisboa ' ) OR ` c ` . ` City ` IS NULL ) ");
}
public override async Task Where_select_many_and ( bool isAsync )
{
await base . Where_select_many_and ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`, `e`.`EmployeeID`, `e`.`City`, `e`.`Country`, `e`.`FirstName`, `e`.`ReportsTo`, `e`.`Title`
FROM ` Customers ` AS ` c ` ,
` Employees ` AS ` e `
WHERE ( ( ` c ` . ` City ` = ' London ' ) AND ( ` c ` . ` Country ` = ' UK ' ) ) AND ( ( ` e ` . ` City ` = ' London ' ) AND ( ` e ` . ` Country ` = ' UK ' ) ) ");
}
public override async Task Where_primitive ( bool isAsync )
{
await base . Where_primitive ( isAsync ) ;
AssertSql (
$ @ "@__p_0='9'
SELECT ` t ` . ` EmployeeID `
FROM (
SELECT TOP { AssertSqlHelper . Parameter ( "@__p_0" ) } ` e ` . ` EmployeeID `
FROM ` Employees ` AS ` e `
) AS ` t `
WHERE ` t ` . ` EmployeeID ` = 5 ");
}
public override async Task Where_bool_member ( bool isAsync )
{
await base . Where_bool_member ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` = True ");
}
public override async Task Where_bool_member_false ( bool isAsync )
{
await base . Where_bool_member_false ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
//FROM `Products` AS `p`
//WHERE `p`.`Discontinued` = False");
}
// public override async Task Where_bool_client_side_negated(bool isAsync)
// {
// await base.Where_bool_client_side_negated(isAsync);
// AssertSql(
// $@"SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
//FROM `Products` AS `p`
//WHERE `p`.`Discontinued` = 1");
// }
public override async Task Where_bool_member_negated_twice ( bool isAsync )
{
await base . Where_bool_member_negated_twice ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` = True ");
}
public override async Task Where_bool_member_shadow ( bool isAsync )
{
await base . Where_bool_member_shadow ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` = True ");
}
public override async Task Where_bool_member_false_shadow ( bool isAsync )
{
await base . Where_bool_member_false_shadow ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` < > True ");
}
public override async Task Where_bool_member_equals_constant ( bool isAsync )
{
await base . Where_bool_member_equals_constant ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` = True ");
}
public override async Task Where_bool_member_in_complex_predicate ( bool isAsync )
{
await base . Where_bool_member_in_complex_predicate ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ( ( ` p ` . ` ProductID ` > 100 ) AND ( ` p ` . ` Discontinued ` = True ) ) OR ( ` p ` . ` Discontinued ` = True ) ");
}
public override async Task Where_bool_member_compared_to_binary_expression ( bool isAsync )
{
await base . Where_bool_member_compared_to_binary_expression ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` = IIF ( ` p ` . ` ProductID ` > 50 , 1 , 0 ) ");
}
public override async Task Where_not_bool_member_compared_to_not_bool_member ( bool isAsync )
{
await base . Where_not_bool_member_compared_to_not_bool_member ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p ` ");
}
public override async Task Where_negated_boolean_expression_compared_to_another_negated_boolean_expression ( bool isAsync )
{
await base . Where_negated_boolean_expression_compared_to_another_negated_boolean_expression ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE IIF ( ` p ` . ` ProductID ` > 50 , 1 , 0 ) = IIF ( ` p ` . ` ProductID ` > 20 , 1 , 0 ) ");
}
public override async Task Where_not_bool_member_compared_to_binary_expression ( bool isAsync )
{
await base . Where_not_bool_member_compared_to_binary_expression ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` < > IIF ( ` p ` . ` ProductID ` > 50 , 1 , 0 ) ");
}
public override async Task Where_bool_parameter ( bool isAsync )
{
await base . Where_bool_parameter ( isAsync ) ;
AssertSql (
$ @ "@__prm_0='True'
SELECT ` p ` . ` ProductID ` , ` p ` . ` Discontinued ` , ` p ` . ` ProductName ` , ` p ` . ` SupplierID ` , ` p ` . ` UnitPrice ` , ` p ` . ` UnitsInStock `
FROM ` Products ` AS ` p `
WHERE { AssertSqlHelper . Parameter ( "@__prm_0" ) } = True ");
}
public override async Task Where_bool_parameter_compared_to_binary_expression ( bool isAsync )
{
await base . Where_bool_parameter_compared_to_binary_expression ( isAsync ) ;
AssertSql (
$ @ "@__prm_0='True'
SELECT ` p ` . ` ProductID ` , ` p ` . ` Discontinued ` , ` p ` . ` ProductName ` , ` p ` . ` SupplierID ` , ` p ` . ` UnitPrice ` , ` p ` . ` UnitsInStock `
FROM ` Products ` AS ` p `
WHERE IIF ( ` p ` . ` ProductID ` > 50 , 1 , 0 ) < > { AssertSqlHelper . Parameter ( "@__prm_0" ) } ");
}
public override async Task Where_bool_member_and_parameter_compared_to_binary_expression_nested ( bool isAsync )
{
await base . Where_bool_member_and_parameter_compared_to_binary_expression_nested ( isAsync ) ;
AssertSql (
$ @ "@__prm_0='True'
SELECT ` p ` . ` ProductID ` , ` p ` . ` Discontinued ` , ` p ` . ` ProductName ` , ` p ` . ` SupplierID ` , ` p ` . ` UnitPrice ` , ` p ` . ` UnitsInStock `
FROM ` Products ` AS ` p `
WHERE ` p ` . ` Discontinued ` = CASE
WHEN IIF ( ` p ` . ` ProductID ` > 50 , 1 , 0 ) < > { AssertSqlHelper . Parameter ( "@__prm_0" ) } THEN True
ELSE False
END ");
}
public override async Task Where_de_morgan_or_optimized ( bool isAsync )
{
await base . Where_de_morgan_or_optimized ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ( ` p ` . ` Discontinued ` < > True ) AND ( ` p ` . ` ProductID ` > = 20 ) ");
}
public override async Task Where_de_morgan_and_optimized ( bool isAsync )
{
await base . Where_de_morgan_and_optimized ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ( ` p ` . ` Discontinued ` < > True ) OR ( ` p ` . ` ProductID ` > = 20 ) ");
}
public override async Task Where_complex_negated_expression_optimized ( bool isAsync )
{
await base . Where_complex_negated_expression_optimized ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ( ( ` p ` . ` Discontinued ` < > True ) AND ( ` p ` . ` ProductID ` < 60 ) ) AND ( ` p ` . ` ProductID ` > 30 ) ");
}
public override async Task Where_short_member_comparison ( bool isAsync )
{
await base . Where_short_member_comparison ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` UnitsInStock ` > 10 ");
}
public override async Task Where_comparison_to_nullable_bool ( bool isAsync )
{
await base . Where_comparison_to_nullable_bool ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` CustomerID ` LIKE ' % KI ' ");
}
public override async Task Where_true ( bool isAsync )
{
await base . Where_true ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_false ( bool isAsync )
{
await base . Where_false ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE False = True ");
}
public override async Task Where_default ( bool isAsync )
{
await base . Where_default ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` Fax ` IS NULL ");
}
public override async Task Where_expression_invoke_1 ( bool isAsync )
{
await base . Where_expression_invoke_1 ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` CustomerID ` = ' ALFKI ' ");
}
public override async Task Where_expression_invoke_2 ( bool isAsync )
{
await base . Where_expression_invoke_2 ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
LEFT JOIN ` Customers ` AS ` c ` ON ` o ` . ` CustomerID ` = ` c ` . ` CustomerID `
WHERE ` c ` . ` CustomerID ` = ' ALFKI ' ");
}
public override async Task Where_concat_string_int_comparison1 ( bool isAsync )
{
await base . Where_concat_string_int_comparison1 ( isAsync ) ;
AssertSql (
$ @ "@__i_0='10'
SELECT ` c ` . ` CustomerID `
FROM ` Customers ` AS ` c `
WHERE ( ` c ` . ` CustomerID ` + CAST ( { AssertSqlHelper . Parameter ( "@__i_0" ) } AS nchar ( 5 ) ) ) = ` c ` . ` CompanyName ` ");
}
public override async Task Where_concat_string_int_comparison2 ( bool isAsync )
{
await base . Where_concat_string_int_comparison2 ( isAsync ) ;
AssertSql (
$ @ "@__i_0='10'
SELECT ` c ` . ` CustomerID `
FROM ` Customers ` AS ` c `
WHERE ( CAST ( { AssertSqlHelper . Parameter ( "@__i_0" ) } AS nchar ( 5 ) ) + ` c ` . ` CustomerID ` ) = ` c ` . ` CompanyName ` ");
}
public override async Task Where_concat_string_int_comparison3 ( bool isAsync )
{
await base . Where_concat_string_int_comparison3 ( isAsync ) ;
AssertSql (
$ @ "@__p_0='30'
@__j_1 = ' 21 '
SELECT ` c ` . ` CustomerID `
FROM ` Customers ` AS ` c `
WHERE ( ( ( CAST ( { AssertSqlHelper . Parameter ( "@__p_0" ) } AS nchar ( 5 ) ) + ` c ` . ` CustomerID ` ) + CAST ( { AssertSqlHelper . Parameter ( "@__j_1" ) } AS nchar ( 5 ) ) ) + CAST ( 42 AS nchar ( 5 ) ) ) = ` c ` . ` CompanyName ` ");
}
public override async Task Where_concat_string_int_comparison4 ( bool isAsync )
{
await base . Where_concat_string_int_comparison4 ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`CustomerID`
FROM ` Orders ` AS ` o `
WHERE ( ( CAST ( ` o ` . ` OrderID ` AS nchar ( 5 ) ) + ` o ` . ` CustomerID ` ) = ` o ` . ` CustomerID ` ) OR ` o ` . ` CustomerID ` IS NULL ");
}
public override async Task Where_concat_string_string_comparison ( bool isAsync )
{
await base . Where_concat_string_string_comparison ( isAsync ) ;
AssertSql (
$ @ "@__i_0='A' (Size = 5)
SELECT ` c ` . ` CustomerID `
FROM ` Customers ` AS ` c `
WHERE ( { AssertSqlHelper . Parameter ( "@__i_0" ) } + ` c ` . ` CustomerID ` ) = ` c ` . ` CompanyName ` ");
}
public override async Task Where_string_concat_method_comparison ( bool isAsync )
{
await base . Where_string_concat_method_comparison ( isAsync ) ;
AssertSql (
$ @ "@__i_0='A' (Size = 5)
SELECT ` c ` . ` CustomerID `
FROM ` Customers ` AS ` c `
WHERE ( { AssertSqlHelper . Parameter ( "@__i_0" ) } + ` c ` . ` CustomerID ` ) = ` c ` . ` CompanyName ` ");
}
public override async Task Where_ternary_boolean_condition_true ( bool isAsync )
{
await base . Where_ternary_boolean_condition_true ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE ` p ` . ` UnitsInStock ` > = 20 ");
}
public override async Task Where_ternary_boolean_condition_false ( bool isAsync )
{
await base . Where_ternary_boolean_condition_false ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"@__flag_0='False'
//SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
//FROM `Products` AS `p`
//WHERE ((@__flag_0 = True) AND (`p`.`UnitsInStock` >= 20)) OR ((@__flag_0 <> True) AND (`p`.`UnitsInStock` < 20))");
}
public override async Task Where_ternary_boolean_condition_with_another_condition ( bool isAsync )
{
await base . Where_ternary_boolean_condition_with_another_condition ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"@__productId_0='15'
//@__flag_1='True'
//SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
//FROM `Products` AS `p`
//WHERE (`p`.`ProductID` < @__productId_0) AND (((@__flag_1 = True) AND (`p`.`UnitsInStock` >= 20)) OR ((@__flag_1 <> True) AND (`p`.`UnitsInStock` < 20)))");
}
public override async Task Where_ternary_boolean_condition_with_false_as_result_true ( bool isAsync )
{
await base . Where_ternary_boolean_condition_with_false_as_result_true ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"@__flag_0='True'
//SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
//FROM `Products` AS `p`
//WHERE (@__flag_0 = True) AND (`p`.`UnitsInStock` >= 20)");
}
public override async Task Where_ternary_boolean_condition_with_false_as_result_false ( bool isAsync )
{
await base . Where_ternary_boolean_condition_with_false_as_result_false ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"@__flag_0='False'
//SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
//FROM `Products` AS `p`
//WHERE (@__flag_0 = True) AND (`p`.`UnitsInStock` >= 20)");
}
public override async Task Where_compare_constructed_equal ( bool isAsync )
{
await base . Where_compare_constructed_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Ternary_should_not_evaluate_both_sides ( bool isAsync )
{
await base . Ternary_should_not_evaluate_both_sides ( isAsync ) ;
AssertSql (
$ @ "@__p_0='none' (Size = 4000)
@__p_1 = ' none ' ( Size = 4000 )
@__p_2 = ' none ' ( Size = 4000 )
SELECT ` c ` . ` CustomerID ` , { AssertSqlHelper . Parameter ( "@__p_0" ) } AS ` Data1 ` , { AssertSqlHelper . Parameter ( "@__p_1" ) } AS ` Data2 ` , { AssertSqlHelper . Parameter ( "@__p_2" ) } AS ` Data3 `
FROM ` Customers ` AS ` c ` ");
}
public override async Task Ternary_should_not_evaluate_both_sides_with_parameter ( bool isAsync )
{
await base . Ternary_should_not_evaluate_both_sides_with_parameter ( isAsync ) ;
AssertSql (
$ @ "SELECT True AS `Data1`
FROM ` Orders ` AS ` o ` ");
}
public override async Task Where_compare_constructed_multi_value_equal ( bool isAsync )
{
await base . Where_compare_constructed_multi_value_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_constructed_multi_value_not_equal ( bool isAsync )
{
await base . Where_compare_constructed_multi_value_not_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_tuple_constructed_equal ( bool isAsync )
{
await base . Where_compare_tuple_constructed_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_tuple_constructed_multi_value_equal ( bool isAsync )
{
await base . Where_compare_tuple_constructed_multi_value_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_tuple_constructed_multi_value_not_equal ( bool isAsync )
{
await base . Where_compare_tuple_constructed_multi_value_not_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_tuple_create_constructed_equal ( bool isAsync )
{
await base . Where_compare_tuple_create_constructed_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_tuple_create_constructed_multi_value_equal ( bool isAsync )
{
await base . Where_compare_tuple_create_constructed_multi_value_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_tuple_create_constructed_multi_value_not_equal ( bool isAsync )
{
await base . Where_compare_tuple_create_constructed_multi_value_not_equal ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_compare_null ( bool isAsync )
{
await base . Where_compare_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` IS NULL AND ( ` c ` . ` Country ` = ' UK ' ) ");
}
public override async Task Where_Is_on_same_type ( bool isAsync )
{
await base . Where_Is_on_same_type ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c ` ");
}
public override async Task Where_chain ( bool isAsync )
{
await base . Where_chain ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE ( ` o ` . ` CustomerID ` = ' QUICK ' ) AND ( ` o ` . ` OrderDate ` > # 01 / 01 / 1998 00 : 00 : 00 # ) ");
}
public override void Where_navigation_contains ( )
{
base . Where_navigation_contains ( ) ;
AssertSql (
$ @ "SELECT `t`.`CustomerID`, `t`.`Address`, `t`.`City`, `t`.`CompanyName`, `t`.`ContactName`, `t`.`ContactTitle`, `t`.`Country`, `t`.`Fax`, `t`.`Phone`, `t`.`PostalCode`, `t`.`Region`, `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM (
SELECT TOP 2 ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` CustomerID ` = ' ALFKI '
) AS ` t `
LEFT JOIN ` Orders ` AS ` o ` ON ` t ` . ` CustomerID ` = ` o ` . ` CustomerID `
ORDER BY ` t ` . ` CustomerID ` , ` o ` . ` OrderID ` ",
/ /
$ @ "SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
FROM ` Order Details ` AS ` o `
INNER JOIN ` Orders ` AS ` o0 ` ON ` o ` . ` OrderID ` = ` o0 ` . ` OrderID `
WHERE ` o0 ` . ` OrderID ` IN ( 10643 , 10692 , 10702 , 10835 , 10952 , 11011 ) ");
}
public override async Task Where_array_index ( bool isAsync )
{
await base . Where_array_index ( isAsync ) ;
AssertSql (
$ @ "@__p_0='ALFKI' (Size = 5)
SELECT ` c ` . ` CustomerID ` , ` c ` . ` Address ` , ` c ` . ` City ` , ` c ` . ` CompanyName ` , ` c ` . ` ContactName ` , ` c ` . ` ContactTitle ` , ` c ` . ` Country ` , ` c ` . ` Fax ` , ` c ` . ` Phone ` , ` c ` . ` PostalCode ` , ` c ` . ` Region `
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` CustomerID ` = { AssertSqlHelper . Parameter ( "@__p_0" ) } ");
}
public override async Task Where_multiple_contains_in_subquery_with_or ( bool isAsync )
{
await base . Where_multiple_contains_in_subquery_with_or ( isAsync ) ;
// issue #15994
// AssertSql(
// $@"SELECT `od`.`OrderID`, `od`.`ProductID`, `od`.`Discount`, `od`.`Quantity`, `od`.`UnitPrice`
//FROM `Order Details` AS `od`
//WHERE `od`.`ProductID` IN (
// SELECT TOP 1 `p`.`ProductID`
// FROM `Products` AS `p`
// ORDER BY `p`.`ProductID`
//) OR `od`.`OrderID` IN (
// SELECT TOP 1 `o`.`OrderID`
// FROM `Orders` AS `o`
// ORDER BY `o`.`OrderID`
//)");
}
public override async Task Where_multiple_contains_in_subquery_with_and ( bool isAsync )
{
await base . Where_multiple_contains_in_subquery_with_and ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
FROM ` Order Details ` AS ` o `
WHERE ` o ` . ` ProductID ` IN (
SELECT TOP 20 ` p ` . ` ProductID `
FROM ` Products ` AS ` p `
ORDER BY ` p ` . ` ProductID `
)
AND ` o ` . ` OrderID ` IN (
SELECT TOP 10 ` o0 ` . ` OrderID `
FROM ` Orders ` AS ` o0 `
ORDER BY ` o0 ` . ` OrderID `
) ");
}
public override async Task Where_contains_on_navigation ( bool isAsync )
{
await base . Where_contains_on_navigation ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE EXISTS (
SELECT 1
FROM ` Customers ` AS ` c `
WHERE ` o ` . ` OrderID ` IN (
SELECT ` o0 ` . ` OrderID `
FROM ` Orders ` AS ` o0 `
WHERE ` c ` . ` CustomerID ` = ` o0 ` . ` CustomerID `
)
) ");
}
public override async Task Where_subquery_FirstOrDefault_is_null ( bool isAsync )
{
await base . Where_subquery_FirstOrDefault_is_null ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE (
SELECT TOP 1 ` o ` . ` OrderID `
FROM ` Orders ` AS ` o `
WHERE ` c ` . ` CustomerID ` = ` o ` . ` CustomerID `
ORDER BY ` o ` . ` OrderID ` ) IS NULL ");
}
public override async Task Where_subquery_FirstOrDefault_compared_to_entity ( bool isAsync )
{
await base . Where_subquery_FirstOrDefault_compared_to_entity ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE (
SELECT TOP 1 ` o ` . ` OrderID `
FROM ` Orders ` AS ` o `
WHERE ` c ` . ` CustomerID ` = ` o ` . ` CustomerID `
ORDER BY ` o ` . ` OrderID ` ) = 10243 ");
}
public override async Task Time_of_day_datetime ( bool isAsync )
{
await base . Time_of_day_datetime ( isAsync ) ;
AssertSql (
$ @ "SELECT CAST(`o`.`OrderDate` AS time)
FROM ` Orders ` AS ` o ` ");
}
public override async Task TypeBinary_short_circuit ( bool isAsync )
{
await base . TypeBinary_short_circuit ( isAsync ) ;
AssertSql (
$ @ "@__p_0='False'
SELECT ` o ` . ` OrderID ` , ` o ` . ` CustomerID ` , ` o ` . ` EmployeeID ` , ` o ` . ` OrderDate `
FROM ` Orders ` AS ` o `
WHERE { AssertSqlHelper . Parameter ( "@__p_0" ) } = True ");
}
public override async Task Where_is_conditional ( bool isAsync )
{
await base . Where_is_conditional ( isAsync ) ;
AssertSql (
$ @ "SELECT `p`.`ProductID`, `p`.`Discontinued`, `p`.`ProductName`, `p`.`SupplierID`, `p`.`UnitPrice`, `p`.`UnitsInStock`
FROM ` Products ` AS ` p `
WHERE CASE
WHEN True = True THEN False
ELSE True
END = True ");
}
public override async Task Enclosing_class_settable_member_generates_parameter ( bool isAsync )
{
await base . Enclosing_class_settable_member_generates_parameter ( isAsync ) ;
AssertSql (
$ @ "@__SettableProperty_0='4'
SELECT ` o ` . ` OrderID ` , ` o ` . ` CustomerID ` , ` o ` . ` EmployeeID ` , ` o ` . ` OrderDate `
FROM ` Orders ` AS ` o `
WHERE ` o ` . ` OrderID ` = { AssertSqlHelper . Parameter ( "@__SettableProperty_0" ) } ",
/ /
$ @ "@__SettableProperty_0='10'
SELECT ` o ` . ` OrderID ` , ` o ` . ` CustomerID ` , ` o ` . ` EmployeeID ` , ` o ` . ` OrderDate `
FROM ` Orders ` AS ` o `
WHERE ` o ` . ` OrderID ` = { AssertSqlHelper . Parameter ( "@__SettableProperty_0" ) } ");
}
public override async Task Enclosing_class_readonly_member_generates_parameter ( bool isAsync )
{
await base . Enclosing_class_readonly_member_generates_parameter ( isAsync ) ;
AssertSql (
$ @ "@__ReadOnlyProperty_0='5'
SELECT ` o ` . ` OrderID ` , ` o ` . ` CustomerID ` , ` o ` . ` EmployeeID ` , ` o ` . ` OrderDate `
FROM ` Orders ` AS ` o `
WHERE ` o ` . ` OrderID ` = { AssertSqlHelper . Parameter ( "@__ReadOnlyProperty_0" ) } ");
}
public override async Task Enclosing_class_const_member_does_not_generate_parameter ( bool isAsync )
{
await base . Enclosing_class_const_member_does_not_generate_parameter ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE ` o ` . ` OrderID ` = 1 ");
}
public override async Task Generic_Ilist_contains_translates_to_server ( bool isAsync )
{
await base . Generic_Ilist_contains_translates_to_server ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE ` c ` . ` City ` IN ( ' Seattle ' ) ");
}
public override async Task Project_non_nullable_value_after_FirstOrDefault_on_empty_collection ( bool isAsync )
{
await base . Project_non_nullable_value_after_FirstOrDefault_on_empty_collection ( isAsync ) ;
AssertSql (
$ @ "SELECT (
SELECT TOP 1 CAST ( LEN ( ` o ` . ` CustomerID ` ) AS int )
FROM ` Orders ` AS ` o `
WHERE ` o ` . ` CustomerID ` = ' John Doe ' )
FROM ` Customers ` AS ` c ` ");
}
public override async Task Filter_non_nullable_value_after_FirstOrDefault_on_empty_collection ( bool isAsync )
{
await base . Filter_non_nullable_value_after_FirstOrDefault_on_empty_collection ( isAsync ) ;
AssertSql (
$ @ "SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
FROM ` Customers ` AS ` c `
WHERE (
SELECT TOP 1 CAST ( LEN ( ` o ` . ` CustomerID ` ) AS int )
FROM ` Orders ` AS ` o `
WHERE ` o ` . ` CustomerID ` = ' John Doe ' ) = 0 ");
}
public override async Task Like_with_non_string_column_using_ToString ( bool isAsync )
{
await base . Like_with_non_string_column_using_ToString ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE CONVERT ( VARCHAR ( 11 ) , ` o ` . ` OrderID ` ) LIKE ' % 20 % ' ");
}
public override async Task Like_with_non_string_column_using_double_cast ( bool isAsync )
{
await base . Like_with_non_string_column_using_double_cast ( isAsync ) ;
AssertSql (
$ @ "SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
FROM ` Orders ` AS ` o `
WHERE CAST ( ` o ` . ` OrderID ` AS nvarchar ( max ) ) LIKE ' % 20 % ' ");
}
}
}