diff --git a/eng/Versions.props b/eng/Versions.props index 23ec4c17bf5..9bb6082b993 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -28,7 +28,8 @@ 2.0.2 2.0.2 2.0.2 - 2.0.2 + 2.0.2 + 3.0.0 1.1.118 0.12.0 2.0.0-preview1.20021.1 diff --git a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs index fe15fbcbb43..181fcab044c 100644 --- a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs +++ b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs @@ -85,7 +85,7 @@ public virtual EntityTypeBuilder HasBaseType() /// /// /// An object that can be used to configure the primary key. - public virtual KeyBuilder HasKey([NotNull] Expression> keyExpression) + public virtual KeyBuilder HasKey([NotNull] Expression> keyExpression) => new KeyBuilder( Builder.PrimaryKey( Check.NotNull(keyExpression, nameof(keyExpression)).GetPropertyAccessList(), diff --git a/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj b/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj index 816f56bb763..e3ab3c41dc7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj +++ b/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj @@ -30,8 +30,8 @@ + - diff --git a/test/EFCore.SqlServer.FunctionalTests/IdentityServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/IdentityServerTest.cs new file mode 100644 index 00000000000..45f08fe53dc --- /dev/null +++ b/test/EFCore.SqlServer.FunctionalTests/IdentityServerTest.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using IdentityServer4.EntityFramework.DbContexts; +using IdentityServer4.EntityFramework.Options; +using Microsoft.EntityFrameworkCore.Diagnostics; +using Microsoft.EntityFrameworkCore.TestUtilities; +using Xunit; + +namespace Microsoft.EntityFrameworkCore +{ + public class IdentityServerTest + { + [ConditionalFact] + public void Can_initialize_PersistedGrantDbContext() + { + using var testDatabase = SqlServerTestStore.CreateInitialized("IdentityServerPersistedGrantDbContext"); + var options = CreateOptions(testDatabase); + using (var context = new PersistedGrantDbContext(options, new OperationalStoreOptions())) + { + context.Database.EnsureCreatedResiliently(); + } + } + + private DbContextOptions CreateOptions(TestStore testStore) + => (DbContextOptions)testStore + .AddProviderOptions(new DbContextOptionsBuilder(new DbContextOptions())) + .EnableDetailedErrors() + .EnableSensitiveDataLogging() + .ConfigureWarnings( + b => b.Default(WarningBehavior.Throw) + .Log(CoreEventId.SensitiveDataLoggingEnabledWarning) + .Log(CoreEventId.PossibleUnintendedReferenceComparisonWarning)) + .Options; + } +} diff --git a/test/EFCore.Tests/ModelBuilding/ModelBuilderGenericTest.cs b/test/EFCore.Tests/ModelBuilding/ModelBuilderGenericTest.cs index 42c6e2111a5..303670b1bb6 100644 --- a/test/EFCore.Tests/ModelBuilding/ModelBuilderGenericTest.cs +++ b/test/EFCore.Tests/ModelBuilding/ModelBuilderGenericTest.cs @@ -182,7 +182,7 @@ public override TestEntityTypeBuilder HasBaseType(string baseEntityType => Wrap(EntityTypeBuilder.HasBaseType(baseEntityTypeName)); public override TestKeyBuilder HasKey(Expression> keyExpression) - => new GenericTestKeyBuilder(EntityTypeBuilder.HasKey(keyExpression)); + => new GenericTestKeyBuilder((KeyBuilder)EntityTypeBuilder.HasKey(keyExpression)); public override TestKeyBuilder HasKey(params string[] propertyNames) => new GenericTestKeyBuilder(EntityTypeBuilder.HasKey(propertyNames));