public void DiscoverKeyProperties_does_not_discover_key_when_multiple_ids()
    {
        var entityBuilder = CreateInternalEntityBuilder <EntityWithMultipleIds>();

        RunConvention(entityBuilder);

        var key = entityBuilder.Metadata.FindPrimaryKey();

        Assert.Null(key);

        var logEntry = ListLoggerFactory.Log.Single();

        Assert.Equal(LogLevel.Debug, logEntry.Level);
        Assert.Equal(
            CoreResources.LogMultiplePrimaryKeyCandidates(new TestLogger <TestLoggingDefinitions>()).GenerateMessage(
                nameof(EntityWithMultipleIds.ID), nameof(EntityWithMultipleIds.Id), nameof(EntityWithMultipleIds)), logEntry.Message);

        var context = new ConventionContext <string>(
            entityBuilder.Metadata.Model.ConventionDispatcher);

        entityBuilder.Ignore("ID", ConfigurationSource.DataAnnotation);

        CreateKeyDiscoveryConvention().ProcessEntityTypeMemberIgnored(entityBuilder, "ID", context);

        Assert.Equal("Id", entityBuilder.Metadata.FindPrimaryKey().Properties.Single().Name);
    }
        public void DiscoverKeyProperties_does_not_discover_key_when_multiple_ids()
        {
            var entityBuilder = CreateInternalEntityBuilder <EntityWithMultipleIds>();

            Assert.Same(entityBuilder, CreateKeyDiscoveryConvention().Apply(entityBuilder));

            var key = entityBuilder.Metadata.FindPrimaryKey();

            Assert.Null(key);

            var logEntry = ListLoggerFactory.Log.Single();

            Assert.Equal(LogLevel.Debug, logEntry.Level);
            Assert.Equal(
                CoreResources.LogMultiplePrimaryKeyCandidates(new TestLogger <LoggingDefinitions>()).GenerateMessage(
                    nameof(EntityWithMultipleIds.ID), nameof(EntityWithMultipleIds.Id), nameof(EntityWithMultipleIds)), logEntry.Message);
        }