Skip to content

Commit c9644a8

Browse files
authored
Merge pull request #63 from kakone/bugfix#57
Fixes #57
2 parents 5a11485 + 0cdad95 commit c9644a8

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

src/AutoMapper.Collection.EntityFrameworkCore/GenerateEntityFrameworkCorePrimaryKeyPropertyMaps.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77

88
namespace AutoMapper.EntityFrameworkCore
99
{
10-
public class GenerateEntityFrameworkCorePrimaryKeyPropertyMaps<TDatabaseContext> : IGeneratePropertyMaps
11-
where TDatabaseContext : DbContext
10+
public class GenerateEntityFrameworkCorePrimaryKeyPropertyMaps : IGeneratePropertyMaps
1211
{
1312
private readonly IModel _model;
1413

@@ -20,7 +19,7 @@ public IEnumerable<PropertyMap> GeneratePropertyMaps(TypeMap typeMap)
2019
{
2120
var propertyMaps = typeMap.PropertyMaps;
2221
var keyMembers = _model.FindEntityType(typeMap.DestinationType)?.FindPrimaryKey().Properties ?? new List<IProperty>();
23-
return keyMembers.Select(m => propertyMaps.FirstOrDefault(p => p.DestinationMember.Name == m.Name));
22+
return propertyMaps.Where(p => keyMembers.Any(m => m.Name == p.DestinationMember.Name));
2423
}
2524
}
2625
}

src/AutoMapper.Collection.EntityFrameworkCore/MapperConfigurationExpressionExtensions.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public static void UseEntityFrameworkCoreModel<TContext>(this IMapperConfigurati
1818
{
1919
using (var context = new TContext())
2020
{
21-
config.UseEntityFrameworkCoreModel<TContext>(context.Model);
21+
config.UseEntityFrameworkCoreModel(context.Model);
2222
}
2323
}
2424

@@ -47,15 +47,15 @@ public static void UseEntityFrameworkCoreModel<TContext>(this IMapperConfigurati
4747
using (var scope = serviceProvider.CreateScope())
4848
{
4949
var context = scope.ServiceProvider.GetRequiredService<TContext>();
50-
config.UseEntityFrameworkCoreModel<TContext>(context.Model);
50+
config.UseEntityFrameworkCoreModel(context.Model);
5151
}
5252
}
5353

5454
/// <summary>
5555
/// Generates and adds property maps based on the primary keys for the given <see cref="DbContext"/>. This method is generally
5656
/// only used if you are using <see cref="DbContextOptionsBuilder.UseModel(IModel)"/>.
5757
/// </summary>
58-
public static void UseEntityFrameworkCoreModel<TContext>(this IMapperConfigurationExpression config, IModel model)
59-
where TContext : DbContext => config.SetGeneratePropertyMaps(new GenerateEntityFrameworkCorePrimaryKeyPropertyMaps<TContext>(model));
58+
public static void UseEntityFrameworkCoreModel(this IMapperConfigurationExpression config, IModel model)
59+
=> config.SetGeneratePropertyMaps(new GenerateEntityFrameworkCorePrimaryKeyPropertyMaps(model));
6060
}
6161
}

0 commit comments

Comments
 (0)