diff --git a/src/EFCore.Jet/Migrations/JetMigrationsSqlGenerator.cs b/src/EFCore.Jet/Migrations/JetMigrationsSqlGenerator.cs index 661d43b..1296f1e 100644 --- a/src/EFCore.Jet/Migrations/JetMigrationsSqlGenerator.cs +++ b/src/EFCore.Jet/Migrations/JetMigrationsSqlGenerator.cs @@ -725,6 +725,11 @@ namespace Microsoft.EntityFrameworkCore.Migrations } var columnType = GetColumnType(schema, table, name, operation, model); + //int has no size - ignore + if (columnType.StartsWith("int(")) + { + columnType = "int"; + } builder .Append(Dependencies.SqlGenerationHelper.DelimitIdentifier(name)) .Append(" ") diff --git a/test/EFCore.Jet.FunctionalTests/AssemblyInitialization.cs b/test/EFCore.Jet.FunctionalTests/AssemblyInitialization.cs new file mode 100644 index 0000000..0502c26 --- /dev/null +++ b/test/EFCore.Jet.FunctionalTests/AssemblyInitialization.cs @@ -0,0 +1,29 @@ +using System.Data.Common; +using EntityFrameworkCore.Jet.Data; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace EntityFrameworkCore.Jet.FunctionalTests +{ + [TestClass] + public class AssemblyInitialization + { + //public static DbConnection Connection; + + [AssemblyInitialize] + public static void AssemblyInitialize(TestContext testContext) + { + // This is the only reason why we include the Provider + JetConfiguration.ShowSqlStatements = true; + JetConfiguration.UseConnectionPooling = false; + + //Connection = Helpers.CreateAndOpenJetDatabase(Helpers.DefaultJetStoreName); + } + + [AssemblyCleanup] + public static void AssemblyCleanup() + { + //Connection?.Dispose(); + //Helpers.DeleteJetDatabase(Helpers.DefaultJetStoreName); + } + } +} \ No newline at end of file diff --git a/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs index 41128aa..c18a7c6 100644 --- a/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs @@ -2994,7 +2994,7 @@ UnicodeDataTypes.StringUnicode ---> `nullable nvarchar` [MaxLength = -1] NUMERIC_PRECISION, NUMERIC_SCALE, DATETIME_PRECISION - FROM INFORMATION_SCHEMA.COLUMNS"; + FROM [INFORMATION_SCHEMA].[COLUMNS]"; var columns = new List(); @@ -3169,6 +3169,7 @@ UnicodeDataTypes.StringUnicode ---> `nullable nvarchar` [MaxLength = -1] public override bool SupportsBinaryKeys => true; public override DateTime DefaultDateTime => new DateTime(); + public override bool PreservesDateTimeKind { get; } } [Flags] diff --git a/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs b/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs index 944131e..ffeebbc 100644 --- a/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs @@ -181,6 +181,7 @@ UnicodeDataTypes.StringUnicode ---> `nullable nvarchar` [MaxLength = -1] public override bool SupportsDecimalComparisons => true; public override DateTime DefaultDateTime => new DateTime(); + public override bool PreservesDateTimeKind { get; } public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) => base diff --git a/test/EFCore.Jet.FunctionalTests/CustomConvertersJetTest.cs b/test/EFCore.Jet.FunctionalTests/CustomConvertersJetTest.cs index ae07528..6924f6e 100644 --- a/test/EFCore.Jet.FunctionalTests/CustomConvertersJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/CustomConvertersJetTest.cs @@ -209,6 +209,7 @@ User.Id ---> `uniqueidentifier` public override bool SupportsDecimalComparisons => true; public override DateTime DefaultDateTime => new DateTime(); + public override bool PreservesDateTimeKind { get; } public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) => base diff --git a/test/EFCore.Jet.FunctionalTests/EFCore.Jet.FunctionalTests.csproj b/test/EFCore.Jet.FunctionalTests/EFCore.Jet.FunctionalTests.csproj index 24630b8..b173770 100644 --- a/test/EFCore.Jet.FunctionalTests/EFCore.Jet.FunctionalTests.csproj +++ b/test/EFCore.Jet.FunctionalTests/EFCore.Jet.FunctionalTests.csproj @@ -12,6 +12,7 @@ + @@ -69,65 +70,20 @@ PreserveNewest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -152,7 +108,6 @@ - @@ -168,17 +123,6 @@ - - - - - - - - - - - @@ -208,65 +152,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -291,7 +190,6 @@ - @@ -307,17 +205,6 @@ - - - - - - - - - - - diff --git a/test/EFCore.Jet.FunctionalTests/EverythingIsBytesJetTest.cs b/test/EFCore.Jet.FunctionalTests/EverythingIsBytesJetTest.cs index 7b4889f..28da8a3 100644 --- a/test/EFCore.Jet.FunctionalTests/EverythingIsBytesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/EverythingIsBytesJetTest.cs @@ -197,6 +197,7 @@ UnicodeDataTypes.StringUnicode ---> `nullable varbinary` [MaxLength = -1] public override bool SupportsDecimalComparisons => true; public override DateTime DefaultDateTime => new DateTime(); + public override bool PreservesDateTimeKind { get; } public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) => base diff --git a/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs b/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs index 4d75670..b4eeb52 100644 --- a/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs @@ -10,6 +10,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.TestUtilities; using Microsoft.Extensions.DependencyInjection; using Xunit; +using System.Linq; // ReSharper disable InconsistentNaming namespace EntityFrameworkCore.Jet.FunctionalTests @@ -198,6 +199,19 @@ UnicodeDataTypes.StringUnicode ---> `nullable nvarchar` [MaxLength = -1] public override bool SupportsDecimalComparisons => true; public override DateTime DefaultDateTime => new DateTime(); + public override bool PreservesDateTimeKind { get; } + + public override string ReallyLargeString + { + get + { + //Jet max is 255 + var res = string.Join("", Enumerable.Repeat("testphrase", 25)); + return res; + } + } + + public override int LongStringLength => 255; public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) => base @@ -282,21 +296,22 @@ UnicodeDataTypes.StringUnicode ---> `nullable nvarchar` [MaxLength = -1] } } + //Note - 255 is the max short text length in Jet if (clrType == typeof(string)) { var isAnsi = mappingInfo.IsUnicode == false; var isFixedLength = mappingInfo.IsFixedLength == true; var baseName = isAnsi ? "varchar" : "nvarchar"; - var maxSize = isAnsi ? 8000 : 4000; + var maxSize = 255; - var size = mappingInfo.Size ?? (mappingInfo.IsKeyOrIndex ? (int?)(isAnsi ? 900 : 450) : null); + var size = mappingInfo.Size ?? (mappingInfo.IsKeyOrIndex ? (int?)255 : 255); if (size > maxSize) { size = isFixedLength ? maxSize : (int?)null; } return new JetStringTypeMapping( - baseName + "(" + (size == null ? "max" : size.ToString()) + ")", + baseName + "(" + (size == null ? "255" : size.ToString()) + ")", !isAnsi, size, isFixedLength, diff --git a/test/EFCore.Jet.FunctionalTests/FindJetTest.cs b/test/EFCore.Jet.FunctionalTests/FindJetTest.cs index cd22d46..384ad90 100644 --- a/test/EFCore.Jet.FunctionalTests/FindJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/FindJetTest.cs @@ -132,7 +132,7 @@ WHERE `i`.`Id` = {AssertSqlHelper.Parameter("@__p_0")}"); base.Find_string_key_from_store(); AssertSql( - $@"{AssertSqlHelper.Declaration("@__p_0='Cat' (Size = 450)")} + $@"{AssertSqlHelper.Declaration("@__p_0='Cat' (Size = 255)")} SELECT TOP 1 `s`.`Id`, `s`.`Foo` FROM `StringKey` AS `s` @@ -144,7 +144,7 @@ WHERE `s`.`Id` = {AssertSqlHelper.Parameter("@__p_0")}"); base.Returns_null_for_string_key_not_in_store(); AssertSql( - $@"{AssertSqlHelper.Declaration("@__p_0='Fox' (Size = 450)")} + $@"{AssertSqlHelper.Declaration("@__p_0='Fox' (Size = 255)")} SELECT TOP 1 `s`.`Id`, `s`.`Foo` FROM `StringKey` AS `s` @@ -164,8 +164,7 @@ WHERE `s`.`Id` = {AssertSqlHelper.Parameter("@__p_0")}"); AssertSql( $@"{AssertSqlHelper.Declaration("@__p_0='77'")} - -{AssertSqlHelper.Declaration("@__p_1='Dog' (Size = 450)")} +{AssertSqlHelper.Declaration("@__p_1='Dog' (Size = 255)")} SELECT TOP 1 `c`.`Id1`, `c`.`Id2`, `c`.`Foo` FROM `CompositeKey` AS `c` @@ -178,8 +177,7 @@ WHERE (`c`.`Id1` = {AssertSqlHelper.Parameter("@__p_0")}) AND (`c`.`Id2` = {Asse AssertSql( $@"{AssertSqlHelper.Declaration("@__p_0='77'")} - -{AssertSqlHelper.Declaration("@__p_1='Fox' (Size = 450)")} +{AssertSqlHelper.Declaration("@__p_1='Fox' (Size = 255)")} SELECT TOP 1 `c`.`Id1`, `c`.`Id2`, `c`.`Foo` FROM `CompositeKey` AS `c` @@ -193,6 +191,13 @@ WHERE (`c`.`Id1` = {AssertSqlHelper.Parameter("@__p_0")}) AND (`c`.`Id2` = {Asse Assert.Equal("", Sql); } + public override async Task Find_base_type_tracked_async() + { + await base.Find_base_type_tracked_async(); + + Assert.Equal("", Sql); + } + public override void Find_base_type_from_store() { base.Find_base_type_from_store(); @@ -202,7 +207,18 @@ WHERE (`c`.`Id1` = {AssertSqlHelper.Parameter("@__p_0")}) AND (`c`.`Id2` = {Asse SELECT TOP 1 `b`.`Id`, `b`.`Discriminator`, `b`.`Foo`, `b`.`Boo` FROM `BaseType` AS `b` -WHERE `b`.`Discriminator` IN ('BaseType', 'DerivedType') AND (`b`.`Id` = {AssertSqlHelper.Parameter("@__p_0")})"); +WHERE `b`.`Id` = {AssertSqlHelper.Parameter("@__p_0")}"); + } + + public override async Task Find_base_type_from_store_async() + { + await base.Find_base_type_from_store_async(); + AssertSql( + $@"{AssertSqlHelper.Declaration("@__p_0='77'")} + +SELECT TOP 1 `b`.`Id`, `b`.`Discriminator`, `b`.`Foo`, `b`.`Boo` +FROM `BaseType` AS `b` +WHERE `b`.`Id` = {AssertSqlHelper.Parameter("@__p_0")}"); } public override void Returns_null_for_base_type_not_in_store() @@ -214,7 +230,7 @@ WHERE `b`.`Discriminator` IN ('BaseType', 'DerivedType') AND (`b`.`Id` = {Assert SELECT TOP 1 `b`.`Id`, `b`.`Discriminator`, `b`.`Foo`, `b`.`Boo` FROM `BaseType` AS `b` -WHERE `b`.`Discriminator` IN ('BaseType', 'DerivedType') AND (`b`.`Id` = {AssertSqlHelper.Parameter("@__p_0")})"); +WHERE `b`.`Id` = {AssertSqlHelper.Parameter("@__p_0")}"); } public override void Find_derived_type_tracked() @@ -288,7 +304,7 @@ WHERE (`b`.`Discriminator` = 'DerivedType') AND (`b`.`Id` = {AssertSqlHelper.Par SELECT TOP 1 `b`.`Id`, `b`.`Discriminator`, `b`.`Foo`, `b`.`Boo` FROM `BaseType` AS `b` -WHERE `b`.`Discriminator` IN ('BaseType', 'DerivedType') AND (`b`.`Id` = {AssertSqlHelper.Parameter("@__p_0")})"); +WHERE `b`.`Id` = {AssertSqlHelper.Parameter("@__p_0")}"); } public override void Find_shadow_key_tracked() diff --git a/test/EFCore.Jet.FunctionalTests/JetDatabaseCreatorTest.cs b/test/EFCore.Jet.FunctionalTests/JetDatabaseCreatorTest.cs index b653499..274c978 100644 --- a/test/EFCore.Jet.FunctionalTests/JetDatabaseCreatorTest.cs +++ b/test/EFCore.Jet.FunctionalTests/JetDatabaseCreatorTest.cs @@ -403,7 +403,7 @@ namespace EntityFrameworkCore.Jet.FunctionalTests using (var testDatabase = JetTestStore.GetOrCreate("NonExisting")) { var databaseCreator = GetDatabaseCreator(testDatabase); - await databaseCreator.ExecutionStrategyFactory.Create().ExecuteAsync( + await databaseCreator.ExecutionStrategy.ExecuteAsync( databaseCreator, async creator => { @@ -848,7 +848,7 @@ namespace EntityFrameworkCore.Jet.FunctionalTests return HasTablesAsync(cancellationToken); } - public IExecutionStrategyFactory ExecutionStrategyFactory => Dependencies.ExecutionStrategyFactory; + public IExecutionStrategy ExecutionStrategy => Dependencies.ExecutionStrategy; } } } diff --git a/test/EFCore.Jet.FunctionalTests/LoggingJetTest.cs b/test/EFCore.Jet.FunctionalTests/LoggingJetTest.cs index 1df272e..b344edd 100644 --- a/test/EFCore.Jet.FunctionalTests/LoggingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/LoggingJetTest.cs @@ -23,5 +23,6 @@ namespace EntityFrameworkCore.Jet.FunctionalTests .UseJet("Data Source=LoggingJetTest.db", TestEnvironment.DataAccessProviderFactory, relationalAction); protected override string ProviderName => "EntityFrameworkCore.Jet"; + protected override string ProviderVersion { get; } } } diff --git a/test/EFCore.Jet.FunctionalTests/Query/DbFunctionsJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/DbFunctionsJetTest.cs index ff3daae..8db82d2 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/DbFunctionsJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/DbFunctionsJetTest.cs @@ -67,7 +67,7 @@ WHERE `c`.`ContactName` LIKE '!%' ESCAPE '!'"); AssertSql( $@"SELECT COUNT(*) FROM `Orders` AS `o` -WHERE DATEDIFF(YEAR, `o`.`OrderDate`, GETDATE()) = 0"); +WHERE DATEDIFF('yyyy', `o`.`OrderDate`, NOW()) = 0"); } } @@ -83,7 +83,7 @@ WHERE DATEDIFF(YEAR, `o`.`OrderDate`, GETDATE()) = 0"); AssertSql( $@"SELECT COUNT(*) FROM `Orders` AS `o` -WHERE DATEDIFF(MONTH, `o`.`OrderDate`, GETDATE()) = 0"); +WHERE DATEDIFF('m', `o`.`OrderDate`, NOW()) = 0"); } } @@ -99,7 +99,7 @@ WHERE DATEDIFF(MONTH, `o`.`OrderDate`, GETDATE()) = 0"); AssertSql( $@"SELECT COUNT(*) FROM `Orders` AS `o` -WHERE DATEDIFF(DAY, `o`.`OrderDate`, GETDATE()) = 0"); +WHERE DATEDIFF('d', `o`.`OrderDate`, NOW()) = 0"); } } @@ -115,7 +115,7 @@ WHERE DATEDIFF(DAY, `o`.`OrderDate`, GETDATE()) = 0"); AssertSql( $@"SELECT COUNT(*) FROM `Orders` AS `o` -WHERE DATEDIFF(HOUR, `o`.`OrderDate`, GETDATE()) = 0"); +WHERE DATEDIFF('h', `o`.`OrderDate`, NOW()) = 0"); } } @@ -131,7 +131,7 @@ WHERE DATEDIFF(HOUR, `o`.`OrderDate`, GETDATE()) = 0"); AssertSql( $@"SELECT COUNT(*) FROM `Orders` AS `o` -WHERE DATEDIFF(MINUTE, `o`.`OrderDate`, GETDATE()) = 0"); +WHERE DATEDIFF('n', `o`.`OrderDate`, NOW()) = 0"); } } @@ -147,7 +147,7 @@ WHERE DATEDIFF(MINUTE, `o`.`OrderDate`, GETDATE()) = 0"); AssertSql( $@"SELECT COUNT(*) FROM `Orders` AS `o` -WHERE DATEDIFF(SECOND, `o`.`OrderDate`, GETDATE()) = 0"); +WHERE DATEDIFF('s', `o`.`OrderDate`, NOW()) = 0"); } } diff --git a/test/EFCore.Jet.FunctionalTests/Scaffolding/JetDatabaseModelFactoryTest.cs b/test/EFCore.Jet.FunctionalTests/Scaffolding/JetDatabaseModelFactoryTest.cs index 02fa1da..a464a13 100644 --- a/test/EFCore.Jet.FunctionalTests/Scaffolding/JetDatabaseModelFactoryTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Scaffolding/JetDatabaseModelFactoryTest.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using EntityFrameworkCore.Jet.Data; using Microsoft.EntityFrameworkCore.Diagnostics; using Microsoft.EntityFrameworkCore.Internal; using Microsoft.EntityFrameworkCore.Metadata; @@ -21,6 +22,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using Microsoft.EntityFrameworkCore.TestUtilities; using Microsoft.Extensions.Logging; using Xunit; +using Xunit.Abstractions; // ReSharper disable InconsistentNaming @@ -29,11 +31,15 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Scaffolding public class JetDatabaseModelFactoryTest : IClassFixture { protected JetDatabaseModelFixture Fixture { get; } + private readonly ITestOutputHelper _testOutputHelper; - public JetDatabaseModelFactoryTest(JetDatabaseModelFixture fixture) + public JetDatabaseModelFactoryTest(JetDatabaseModelFixture fixture, ITestOutputHelper testOutputHelper) { Fixture = fixture; - Fixture.ListLoggerFactory.Clear(); + _testOutputHelper = testOutputHelper; + //Fixture.ListLoggerFactory.Clear(); + Fixture.ListLoggerFactory.SetTestOutputHelper(testOutputHelper); + JetConfiguration.ShowSqlStatements = true; } #region Model @@ -189,7 +195,7 @@ SELECT Test( @" CREATE TABLE PrimaryKeyTable ( - Id int PRIMARY KEY + Id int CONSTRAINT PK__PrimaryKeyTable PRIMARY KEY );", Enumerable.Empty(), Enumerable.Empty(), @@ -371,7 +377,7 @@ CREATE TABLE TypeAlias ( var column = Assert.Single(dbModel.Tables.Single().Columns.Where(c => c.Name == "typeAliasColumn")); // ReSharper disable once PossibleNullReferenceException - Assert.Equal("varchar(128)", column.StoreType); + Assert.Equal("varchar(255)", column.StoreType); Assert.False(column.IsNullable); }, @" @@ -986,7 +992,7 @@ CREATE TABLE NullableColumns ( CREATE TABLE CompositePrimaryKeyTable ( Id1 int, Id2 int, - PRIMARY KEY (Id2, Id1) + CONSTRAINT PK__CompositePrimaryKeyTable PRIMARY KEY (Id2, Id1) );", Enumerable.Empty(), Enumerable.Empty(), diff --git a/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs b/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs index 97c30f7..de6920c 100644 --- a/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs @@ -18,6 +18,8 @@ namespace EntityFrameworkCore.Jet.FunctionalTests return context; } + protected override TestStore TestStore { get; } + protected class SeedingJetContext : SeedingContext { public SeedingJetContext(string testId) diff --git a/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs b/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs index a56fdf8..9c8fddd 100644 --- a/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs @@ -1,5 +1,6 @@ // 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; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.TestUtilities; @@ -16,9 +17,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; - public override void Can_use_with_redundant_relationships() + public override async Task Can_use_with_redundant_relationships() { - base.Can_use_with_redundant_relationships(); + await base.Can_use_with_redundant_relationships(); // TODO: `Name` shouldn't be selected multiple times and no joins are needed AssertSql( @@ -86,9 +87,9 @@ WHERE `v`.`Discriminator` IN ('Vehicle', 'PoweredVehicle') ORDER BY `v`.`Name`"); } - public override void Can_query_shared() + public override async Task Can_query_shared() { - base.Can_query_shared(); + await base.Can_query_shared(); AssertSql( $@"SELECT `v`.`Name`, `v`.`Operator_Discriminator`, `v`.`Operator_Name`, `v`.`LicenseType` @@ -101,9 +102,9 @@ INNER JOIN ( WHERE `v`.`Operator_Discriminator` IN ('Operator', 'LicensedOperator')"); } - public override void Can_query_shared_nonhierarchy() + public override async Task Can_query_shared_nonhierarchy() { - base.Can_query_shared_nonhierarchy(); + await base.Can_query_shared_nonhierarchy(); AssertSql( $@"SELECT `t0`.`Name`, `t0`.`Operator_Name` @@ -127,9 +128,9 @@ INNER JOIN ( ) AS `t1` ON `t0`.`Name` = `t1`.`Name`"); } - public override void Can_query_shared_nonhierarchy_with_nonshared_dependent() + public override async Task Can_query_shared_nonhierarchy_with_nonshared_dependent() { - base.Can_query_shared_nonhierarchy_with_nonshared_dependent(); + await base.Can_query_shared_nonhierarchy_with_nonshared_dependent(); AssertSql( $@"SELECT `t`.`Name`, `t`.`Operator_Name` @@ -149,9 +150,9 @@ INNER JOIN ( ) AS `t0` ON `t`.`Name` = `t0`.`Name`"); } - public override void Can_query_shared_derived_hierarchy() + public override async Task Can_query_shared_derived_hierarchy() { - base.Can_query_shared_derived_hierarchy(); + await base.Can_query_shared_derived_hierarchy(); AssertSql( $@"SELECT `v`.`Name`, `v`.`Capacity`, `v`.`FuelTank_Discriminator`, `v`.`FuelType`, `v`.`GrainGeometry` @@ -177,9 +178,9 @@ INNER JOIN ( ) AS `t1` ON `v1`.`Name` = `t1`.`Name`"); } - public override void Can_query_shared_derived_nonhierarchy() + public override async Task Can_query_shared_derived_nonhierarchy() { - base.Can_query_shared_derived_nonhierarchy(); + await base.Can_query_shared_derived_nonhierarchy(); AssertSql( $@"SELECT `v`.`Name`, `v`.`Capacity`, `v`.`FuelType` @@ -205,9 +206,9 @@ INNER JOIN ( ) AS `t1` ON `v1`.`Name` = `t1`.`Name`"); } - public override void Can_query_shared_derived_nonhierarchy_all_required() + public override async Task Can_query_shared_derived_nonhierarchy_all_required() { - base.Can_query_shared_derived_nonhierarchy_all_required(); + await base.Can_query_shared_derived_nonhierarchy_all_required(); AssertSql( $@"SELECT `v`.`Name`, `v`.`Capacity`, `v`.`FuelType` @@ -233,9 +234,9 @@ INNER JOIN ( ) AS `t1` ON `v1`.`Name` = `t1`.`Name`"); } - public override void Can_change_dependent_instance_non_derived() + public override async Task Can_change_dependent_instance_non_derived() { - base.Can_change_dependent_instance_non_derived(); + await base.Can_change_dependent_instance_non_derived(); AssertSql( $@"{AssertSqlHelper.Declaration("@p3='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450)")} @@ -252,9 +253,9 @@ WHERE `Name` = {AssertSqlHelper.Parameter("@p3")}; SELECT @@ROWCOUNT;"); } - public override void Can_change_principal_instance_non_derived() + public override async Task Can_change_principal_instance_non_derived() { - base.Can_change_principal_instance_non_derived(); + await base.Can_change_principal_instance_non_derived(); AssertSql( $@"{AssertSqlHelper.Declaration("@p1='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450)")} diff --git a/test/EFCore.Jet.FunctionalTests/TestUtilities/AssertSqlHelper.cs b/test/EFCore.Jet.FunctionalTests/TestUtilities/AssertSqlHelper.cs index d1fc413..6db4420 100644 --- a/test/EFCore.Jet.FunctionalTests/TestUtilities/AssertSqlHelper.cs +++ b/test/EFCore.Jet.FunctionalTests/TestUtilities/AssertSqlHelper.cs @@ -22,10 +22,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities public static string Declaration(string fullDeclaration) => Declaration(fullDeclaration, DataAccessProviderType); - + //TODO:confirm which way odbc and oledb do this public static string Declaration(string fullDeclaration, DataAccessProviderType dataAccessProviderType) => dataAccessProviderType == DataAccessProviderType.Odbc - ? string.Empty - : fullDeclaration; + ? fullDeclaration + : string.Empty; } } \ No newline at end of file diff --git a/test/EFCore.Jet.FunctionalTests/TestUtilities/JetTestStore.cs b/test/EFCore.Jet.FunctionalTests/TestUtilities/JetTestStore.cs index 6932925..109b72d 100644 --- a/test/EFCore.Jet.FunctionalTests/TestUtilities/JetTestStore.cs +++ b/test/EFCore.Jet.FunctionalTests/TestUtilities/JetTestStore.cs @@ -103,7 +103,7 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities } public override DbContextOptionsBuilder AddProviderOptions(DbContextOptionsBuilder builder) - => builder.UseJet(Connection, b => b.ApplyConfiguration()); + => builder.UseJet(Connection, b => b.ApplyConfiguration()).EnableSensitiveDataLogging().EnableDetailedErrors(); private bool CreateDatabase(Action clean) {