Skip to content

Commit 8ddc5b1

Browse files
committed
EF Core 9 support.
1 parent 59cfb1f commit 8ddc5b1

File tree

67 files changed

+1322
-235
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+1322
-235
lines changed

Diff for: .github/workflows/ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919
- name: Checkout
2020
uses: actions/checkout@v4
2121

22-
- name: .NET 8.0
22+
- name: .NET 9.0
2323
uses: actions/setup-dotnet@v4
2424
with:
25-
dotnet-version: 8.0.x
25+
dotnet-version: 9.0.x
2626

2727
- name: Build
2828
run: |

Diff for: src/EntityFramework.Firebird.Tests/EntityFramework.Firebird.Tests.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFramework>net9.0</TargetFramework>
44
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
55
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
66
<SkipSourceLink>true</SkipSourceLink>
@@ -16,7 +16,7 @@
1616
<Using Include="NUnit.Framework.Legacy.CollectionAssert" Alias="CollectionAssert" />
1717
<Using Include="NUnit.Framework.Legacy.StringAssert" Alias="StringAssert" />
1818
</ItemGroup>
19-
<ItemGroup Condition="'$(TargetFramework)'=='net8.0'">
19+
<ItemGroup Condition="'$(TargetFramework)'=='net9.0'">
2020
<!-- left in repo as an example/documentation for .NET Framework -->
2121
<None Remove="app.config" />
2222
</ItemGroup>

Diff for: src/FirebirdSql.Data.FirebirdClient.Tests/FirebirdSql.Data.FirebirdClient.Tests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFramework>net9.0</TargetFramework>
44
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
55
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
66
<SkipSourceLink>true</SkipSourceLink>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
/*
2+
* The contents of this file are subject to the Initial
3+
* Developer's Public License Version 1.0 (the "License");
4+
* you may not use this file except in compliance with the
5+
* License. You may obtain a copy of the License at
6+
* https://github.com/FirebirdSQL/NETProvider/raw/master/license.txt.
7+
*
8+
* Software distributed under the License is distributed on
9+
* an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
10+
* express or implied. See the License for the specific
11+
* language governing rights and limitations under the License.
12+
*
13+
* All Rights Reserved.
14+
*/
15+
16+
//$Authors = Jiri Cincura ([email protected])
17+
18+
using System;
19+
using System.Collections.Generic;
20+
using System.Reflection;
21+
22+
namespace FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests;
23+
24+
public class ComplianceFbTest : Microsoft.EntityFrameworkCore.RelationalComplianceTestBase
25+
{
26+
protected override ICollection<Type> IgnoredTestBases { get; } =
27+
[
28+
typeof(Microsoft.EntityFrameworkCore.ApiConsistencyTestBase<>),
29+
typeof(Microsoft.EntityFrameworkCore.BadDataJsonDeserializationTestBase),
30+
typeof(Microsoft.EntityFrameworkCore.BuiltInDataTypesTestBase<>),
31+
typeof(Microsoft.EntityFrameworkCore.ComplexTypesTrackingTestBase<>),
32+
typeof(Microsoft.EntityFrameworkCore.CompositeKeyEndToEndTestBase<>),
33+
typeof(Microsoft.EntityFrameworkCore.ConcurrencyDetectorDisabledTestBase<>),
34+
typeof(Microsoft.EntityFrameworkCore.ConcurrencyDetectorEnabledTestBase<>),
35+
typeof(Microsoft.EntityFrameworkCore.ConcurrencyDetectorTestBase<>),
36+
typeof(Microsoft.EntityFrameworkCore.ConferencePlannerTestBase<>),
37+
typeof(Microsoft.EntityFrameworkCore.ConvertToProviderTypesTestBase<>),
38+
typeof(Microsoft.EntityFrameworkCore.CustomConvertersTestBase<>),
39+
typeof(Microsoft.EntityFrameworkCore.DataAnnotationTestBase<>),
40+
typeof(Microsoft.EntityFrameworkCore.DataBindingTestBase<>),
41+
typeof(Microsoft.EntityFrameworkCore.EntityFrameworkServiceCollectionExtensionsTestBase),
42+
typeof(Microsoft.EntityFrameworkCore.FieldMappingTestBase<>),
43+
typeof(Microsoft.EntityFrameworkCore.FieldsOnlyLoadTestBase<>),
44+
typeof(Microsoft.EntityFrameworkCore.FindTestBase<>),
45+
typeof(Microsoft.EntityFrameworkCore.GraphUpdatesTestBase<>),
46+
typeof(Microsoft.EntityFrameworkCore.ProxyGraphUpdatesTestBase<>),
47+
typeof(Microsoft.EntityFrameworkCore.InterceptionTestBase),
48+
typeof(Microsoft.EntityFrameworkCore.JsonTypesTestBase),
49+
typeof(Microsoft.EntityFrameworkCore.KeysWithConvertersTestBase<>),
50+
typeof(Microsoft.EntityFrameworkCore.LazyLoadProxyTestBase<>),
51+
typeof(Microsoft.EntityFrameworkCore.LoadTestBase<>),
52+
typeof(Microsoft.EntityFrameworkCore.LoggingTestBase),
53+
typeof(Microsoft.EntityFrameworkCore.ManyToManyFieldsLoadTestBase<>),
54+
typeof(Microsoft.EntityFrameworkCore.ManyToManyLoadTestBase<>),
55+
typeof(Microsoft.EntityFrameworkCore.ManyToManyTrackingTestBase<>),
56+
typeof(Microsoft.EntityFrameworkCore.MaterializationInterceptionTestBase<>),
57+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding101TestBase),
58+
typeof(Microsoft.EntityFrameworkCore.MonsterFixupTestBase<>),
59+
typeof(Microsoft.EntityFrameworkCore.MusicStoreTestBase<>),
60+
typeof(Microsoft.EntityFrameworkCore.NotificationEntitiesTestBase<>),
61+
typeof(Microsoft.EntityFrameworkCore.OptimisticConcurrencyTestBase<,>),
62+
typeof(Microsoft.EntityFrameworkCore.OverzealousInitializationTestBase<>),
63+
typeof(Microsoft.EntityFrameworkCore.PropertyValuesTestBase<>),
64+
typeof(Microsoft.EntityFrameworkCore.QueryExpressionInterceptionTestBase),
65+
typeof(Microsoft.EntityFrameworkCore.AdHocManyToManyQueryTestBase),
66+
typeof(Microsoft.EntityFrameworkCore.SaveChangesInterceptionTestBase),
67+
typeof(Microsoft.EntityFrameworkCore.SeedingTestBase),
68+
typeof(Microsoft.EntityFrameworkCore.SerializationTestBase<>),
69+
typeof(Microsoft.EntityFrameworkCore.SingletonInterceptorsTestBase<>),
70+
typeof(Microsoft.EntityFrameworkCore.SpatialTestBase<>),
71+
typeof(Microsoft.EntityFrameworkCore.StoreGeneratedFixupTestBase<>),
72+
typeof(Microsoft.EntityFrameworkCore.StoreGeneratedTestBase<>),
73+
typeof(Microsoft.EntityFrameworkCore.ValueConvertersEndToEndTestBase<>),
74+
typeof(Microsoft.EntityFrameworkCore.WithConstructorsTestBase<>),
75+
typeof(Microsoft.EntityFrameworkCore.CommandInterceptionTestBase),
76+
typeof(Microsoft.EntityFrameworkCore.ConcurrencyDetectorDisabledRelationalTestBase<>),
77+
typeof(Microsoft.EntityFrameworkCore.ConcurrencyDetectorEnabledRelationalTestBase<>),
78+
typeof(Microsoft.EntityFrameworkCore.ConnectionInterceptionTestBase),
79+
typeof(Microsoft.EntityFrameworkCore.DataAnnotationRelationalTestBase<>),
80+
typeof(Microsoft.EntityFrameworkCore.DesignTimeTestBase<>),
81+
typeof(Microsoft.EntityFrameworkCore.EntitySplittingTestBase),
82+
typeof(Microsoft.EntityFrameworkCore.JsonTypesRelationalTestBase),
83+
typeof(Microsoft.EntityFrameworkCore.LoggingRelationalTestBase<,>),
84+
typeof(Microsoft.EntityFrameworkCore.ManyToManyTrackingRelationalTestBase<>),
85+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding101RelationalTestBase),
86+
typeof(Microsoft.EntityFrameworkCore.OptimisticConcurrencyRelationalTestBase<,>),
87+
typeof(Microsoft.EntityFrameworkCore.RelationalServiceCollectionExtensionsTestBase),
88+
typeof(Microsoft.EntityFrameworkCore.StoreGeneratedFixupRelationalTestBase<>),
89+
typeof(Microsoft.EntityFrameworkCore.TableSplittingTestBase),
90+
typeof(Microsoft.EntityFrameworkCore.TPTTableSplittingTestBase),
91+
typeof(Microsoft.EntityFrameworkCore.TransactionInterceptionTestBase),
92+
typeof(Microsoft.EntityFrameworkCore.TransactionTestBase<>),
93+
typeof(Microsoft.EntityFrameworkCore.TwoDatabasesTestBase),
94+
95+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.ComplexTypeTestBase),
96+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.ModelBuilderTestBase),
97+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.InheritanceTestBase),
98+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.ManyToManyTestBase),
99+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.ManyToOneTestBase),
100+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.NonRelationshipTestBase),
101+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.OneToManyTestBase),
102+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.OneToOneTestBase),
103+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.ModelBuilderTest.OwnedTypesTestBase),
104+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalNonRelationshipTestBase),
105+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalComplexTypeTestBase),
106+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalInheritanceTestBase),
107+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalOneToManyTestBase),
108+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalManyToOneTestBase),
109+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalOneToOneTestBase),
110+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalManyToManyTestBase),
111+
typeof(Microsoft.EntityFrameworkCore.ModelBuilding.RelationalModelBuilderTest.RelationalOwnedTypesTestBase),
112+
113+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.BulkUpdatesTestBase<>),
114+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.ComplexTypeBulkUpdatesTestBase<>),
115+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.FiltersInheritanceBulkUpdatesTestBase<>),
116+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.InheritanceBulkUpdatesTestBase<>),
117+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.NonSharedModelBulkUpdatesTestBase),
118+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.NorthwindBulkUpdatesTestBase<>),
119+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.ComplexTypeBulkUpdatesRelationalTestBase<>),
120+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.FiltersInheritanceBulkUpdatesRelationalTestBase<>),
121+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.InheritanceBulkUpdatesRelationalTestBase<>),
122+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.NonSharedModelBulkUpdatesRelationalTestBase),
123+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.NorthwindBulkUpdatesRelationalTestBase<>),
124+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.TPCFiltersInheritanceBulkUpdatesTestBase<>),
125+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.TPCInheritanceBulkUpdatesTestBase<>),
126+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.TPHInheritanceBulkUpdatesTestBase<>),
127+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.TPTFiltersInheritanceBulkUpdatesTestBase<>),
128+
typeof(Microsoft.EntityFrameworkCore.BulkUpdates.TPTInheritanceBulkUpdatesTestBase<>),
129+
130+
typeof(Microsoft.EntityFrameworkCore.Update.JsonUpdateTestBase<>),
131+
typeof(Microsoft.EntityFrameworkCore.Update.NonSharedModelUpdatesTestBase),
132+
typeof(Microsoft.EntityFrameworkCore.Update.StoredProcedureUpdateTestBase),
133+
typeof(Microsoft.EntityFrameworkCore.Update.StoreValueGenerationTestBase<>),
134+
typeof(Microsoft.EntityFrameworkCore.Update.UpdateSqlGeneratorTestBase),
135+
136+
typeof(Microsoft.EntityFrameworkCore.Scaffolding.CompiledModelTestBase),
137+
typeof(Microsoft.EntityFrameworkCore.Scaffolding.CompiledModelRelationalTestBase),
138+
139+
typeof(Microsoft.EntityFrameworkCore.Migrations.MigrationsInfrastructureTestBase<>),
140+
typeof(Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGeneratorTestBase),
141+
142+
// JSON not supported on FB
143+
typeof(Microsoft.EntityFrameworkCore.Query.JsonQueryTestBase<>),
144+
typeof(Microsoft.EntityFrameworkCore.Query.JsonQueryRelationalTestBase<>),
145+
typeof(Microsoft.EntityFrameworkCore.Query.AdHocJsonQueryTestBase),
146+
147+
// Spatial not supported on FB
148+
typeof(Microsoft.EntityFrameworkCore.Query.SpatialQueryTestBase<>),
149+
typeof(Microsoft.EntityFrameworkCore.Query.SpatialQueryRelationalTestBase<>),
150+
151+
// Uses some JSON
152+
typeof(Microsoft.EntityFrameworkCore.Query.AdHocPrecompiledQueryRelationalTestBase),
153+
typeof(Microsoft.EntityFrameworkCore.Query.PrecompiledQueryRelationalTestBase),
154+
typeof(Microsoft.EntityFrameworkCore.Query.PrecompiledSqlPregenerationQueryRelationalTestBase),
155+
];
156+
157+
protected override Assembly TargetAssembly { get; } = typeof(ComplianceFbTest).Assembly;
158+
}

Diff for: src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFramework>net9.0</TargetFramework>
44
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
55
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
66
<SkipSourceLink>true</SkipSourceLink>
@@ -13,8 +13,8 @@
1313
<ItemGroup>
1414
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Version="$(EFCoreReferencePackageVersion)" />
1515
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
16-
<PackageReference Include="xunit" Version="2.4.2" />
17-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
16+
<PackageReference Include="xunit" Version="2.9.2" />
17+
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
1818
<PrivateAssets>all</PrivateAssets>
1919
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2020
</PackageReference>

Diff for: src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/MigrationsFbTest.cs

+51
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,57 @@ public MigrationsFbTest(MigrationsFbFixture fixture)
356356
[Fact(Skip = SkipReason)]
357357
public override Task Add_required_primitve_collection_with_custom_default_value_sql_to_existing_table() => Task.CompletedTask;
358358

359+
[Fact(Skip = SkipReason)]
360+
public override Task Add_required_primitive_collection_with_custom_default_value_sql_to_existing_table() => Task.CompletedTask;
361+
362+
[Fact(Skip = SkipReason)]
363+
public override Task Add_json_columns_to_existing_table() => base.Add_json_columns_to_existing_table();
364+
365+
[Fact(Skip = SkipReason)]
366+
public override Task Add_required_primitive_collection_to_existing_table() => base.Add_required_primitive_collection_to_existing_table();
367+
368+
[Fact(Skip = SkipReason)]
369+
public override Task Add_required_primitive_collection_with_custom_converter_and_custom_default_value_to_existing_table() => base.Add_required_primitive_collection_with_custom_converter_and_custom_default_value_to_existing_table();
370+
371+
[Fact(Skip = SkipReason)]
372+
public override Task Add_required_primitive_collection_with_custom_converter_to_existing_table() => base.Add_required_primitive_collection_with_custom_converter_to_existing_table();
373+
374+
[Fact(Skip = SkipReason)]
375+
public override Task Add_required_primitive_collection_with_custom_default_value_to_existing_table() => base.Add_required_primitive_collection_with_custom_default_value_to_existing_table();
376+
377+
[Fact(Skip = SkipReason)]
378+
public override Task Add_required_primitve_collection_with_custom_converter_to_existing_table() => base.Add_required_primitve_collection_with_custom_converter_to_existing_table();
379+
380+
[Fact(Skip = SkipReason)]
381+
public override Task Convert_json_entities_to_regular_owned() => base.Convert_json_entities_to_regular_owned();
382+
383+
[Fact(Skip = SkipReason)]
384+
public override Task Convert_regular_owned_entities_to_json() => base.Convert_regular_owned_entities_to_json();
385+
386+
[Fact(Skip = SkipReason)]
387+
public override Task Convert_string_column_to_a_json_column_containing_collection() => base.Convert_string_column_to_a_json_column_containing_collection();
388+
389+
[Fact(Skip = SkipReason)]
390+
public override Task Convert_string_column_to_a_json_column_containing_reference() => base.Convert_string_column_to_a_json_column_containing_reference();
391+
392+
[Fact(Skip = SkipReason)]
393+
public override Task Convert_string_column_to_a_json_column_containing_required_reference() => base.Convert_string_column_to_a_json_column_containing_required_reference();
394+
395+
[Fact(Skip = SkipReason)]
396+
public override Task Create_table_with_json_column() => base.Create_table_with_json_column();
397+
398+
[Fact(Skip = SkipReason)]
399+
public override Task Create_table_with_json_column_explicit_json_column_names() => base.Create_table_with_json_column_explicit_json_column_names();
400+
401+
[Fact(Skip = SkipReason)]
402+
public override Task Drop_json_columns_from_existing_table() => base.Drop_json_columns_from_existing_table();
403+
404+
[Fact(Skip = SkipReason)]
405+
public override Task Rename_json_column() => base.Rename_json_column();
406+
407+
[Fact(Skip = SkipReason)]
408+
public override Task Rename_table_with_json_column() => base.Rename_table_with_json_column();
409+
359410
public class MigrationsFbFixture : MigrationsFixtureBase
360411
{
361412
protected override string StoreName => nameof(MigrationsFbTest);

Diff for: src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/ManyToManyHeterogeneousQueryFbTest.cs renamed to src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/AdHocAdvancedMappingsQueryFbTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
namespace FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Query;
2323

24-
public class ManyToManyHeterogeneousQueryFbTest : ManyToManyHeterogeneousQueryRelationalTestBase
24+
public class AdHocAdvancedMappingsQueryFbTest : AdHocAdvancedMappingsQueryRelationalTestBase
2525
{
2626
protected override ITestStoreFactory TestStoreFactory => FbTestStoreFactory.Instance;
2727
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
* The contents of this file are subject to the Initial
3+
* Developer's Public License Version 1.0 (the "License");
4+
* you may not use this file except in compliance with the
5+
* License. You may obtain a copy of the License at
6+
* https://github.com/FirebirdSQL/NETProvider/raw/master/license.txt.
7+
*
8+
* Software distributed under the License is distributed on
9+
* an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
10+
* express or implied. See the License for the specific
11+
* language governing rights and limitations under the License.
12+
*
13+
* All Rights Reserved.
14+
*/
15+
16+
//$Authors = Jiri Cincura ([email protected])
17+
18+
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.TestUtilities;
19+
using Microsoft.EntityFrameworkCore.Query;
20+
using Microsoft.EntityFrameworkCore.TestUtilities;
21+
22+
namespace FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Query;
23+
24+
public class AdHocComplexTypeQueryFbTest : AdHocComplexTypeQueryTestBase
25+
{
26+
protected override ITestStoreFactory TestStoreFactory => FbTestStoreFactory.Instance;
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
* The contents of this file are subject to the Initial
3+
* Developer's Public License Version 1.0 (the "License");
4+
* you may not use this file except in compliance with the
5+
* License. You may obtain a copy of the License at
6+
* https://github.com/FirebirdSQL/NETProvider/raw/master/license.txt.
7+
*
8+
* Software distributed under the License is distributed on
9+
* an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
10+
* express or implied. See the License for the specific
11+
* language governing rights and limitations under the License.
12+
*
13+
* All Rights Reserved.
14+
*/
15+
16+
//$Authors = Jiri Cincura ([email protected])
17+
18+
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.TestUtilities;
19+
using Microsoft.EntityFrameworkCore.Query;
20+
using Microsoft.EntityFrameworkCore.TestUtilities;
21+
22+
namespace FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Query;
23+
24+
public class AdHocManyToManyQueryFbTest : AdHocManyToManyQueryRelationalTestBase
25+
{
26+
protected override ITestStoreFactory TestStoreFactory => FbTestStoreFactory.Instance;
27+
}

Diff for: src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/SimpleQueryFbTest.cs renamed to src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/AdHocMiscellaneousQueryFbTest.cs

+13-8
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
namespace FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Query;
2828

29-
public class SimpleQueryFbTest : SimpleQueryRelationalTestBase
29+
public class AdHocMiscellaneousQueryFbTest : AdHocMiscellaneousQueryRelationalTestBase
3030
{
3131
protected override ITestStoreFactory TestStoreFactory => FbTestStoreFactory.Instance;
3232

@@ -44,13 +44,6 @@ public override Task Multiple_different_entity_type_from_different_namespaces(bo
4444
return base.Multiple_different_entity_type_from_different_namespaces(async);
4545
}
4646

47-
[HasDataInTheSameTransactionAsDDLTheory]
48-
[MemberData(nameof(IsAsyncData))]
49-
public override Task Multiple_nested_reference_navigations(bool async)
50-
{
51-
return base.Multiple_nested_reference_navigations(async);
52-
}
53-
5447
[HasDataInTheSameTransactionAsDDLTheory]
5548
[MemberData(nameof(IsAsyncData))]
5649
public override Task Comparing_byte_column_to_enum_in_vb_creating_double_cast(bool async)
@@ -78,4 +71,16 @@ public override Task Null_check_removal_in_ternary_maintain_appropriate_cast(boo
7871
{
7972
return base.Null_check_removal_in_ternary_maintain_appropriate_cast(async);
8073
}
74+
75+
[NotSupportedOnFirebirdFact]
76+
public override Task Operators_combine_nullability_of_entity_shapers()
77+
{
78+
return base.Operators_combine_nullability_of_entity_shapers();
79+
}
80+
81+
protected override async Task Seed2951(Context2951 context)
82+
{
83+
await context.Database.ExecuteSqlRawAsync("""CREATE TABLE "ZeroKey" ("Id" INT)""");
84+
await context.Database.ExecuteSqlRawAsync("""INSERT INTO "ZeroKey" VALUES (NULL)""");
85+
}
8186
}

0 commit comments

Comments
 (0)