7
7
## Configuration examples
8
8
9
9
- Usage together with Dependency injection and AutoMapper.Extensions.Microsoft.DependencyInjection pacakge
10
- ```
11
- var services = new ServiceCollection();
12
- services
13
- .AddEntityFrameworkInMemoryDatabase()
14
- .AddDbContext<DB>();
15
-
16
- services.AddAutoMapper((serviceProvider, automapper) =>
17
- {
18
- automapper.AddCollectionMappers();
19
- automapper.UseEntityFrameworkCoreModel<DB>(serviceProvider);
20
- }, typeof(DB).Assembly);
21
-
22
- var serviceProvider = services.BuildServiceProvider();
23
- ```
24
-
25
- - Simple usage with static version of AutoMapper
26
- ```
27
- Mapper.Initialize(x =>
28
- {
29
- x.AddCollectionMappers();
30
- x.UseEntityFrameworkCoreModel<DB>();
31
- });
32
- ```
10
+ ```
11
+ var services = new ServiceCollection();
12
+ services
13
+ .AddEntityFrameworkInMemoryDatabase()
14
+ .AddDbContext<DB>();
15
+
16
+ services.AddAutoMapper((serviceProvider, automapper) =>
17
+ {
18
+ automapper.AddCollectionMappers();
19
+ automapper.UseEntityFrameworkCoreModel<DB>(serviceProvider);
20
+ }, typeof(DB).Assembly);
21
+
22
+ var serviceProvider = services.BuildServiceProvider();
23
+ ```
33
24
34
25
** Note:** User defined equality expressions will overwrite primary key expressions.
35
26
@@ -39,10 +30,12 @@ Automapper.Collection.EntityFrameworkCore does that as well through extension me
39
30
40
31
Translate equality between dto and EF object to an expression of just the EF using the dto's values as constants.
41
32
42
- dbContext.Orders.Persist().InsertOrUpdate<OrderDTO>(newOrderDto);
43
- dbContext.Orders.Persist().InsertOrUpdate<OrderDTO>(existingOrderDto);
44
- dbContext.Orders.Persist().Remove<OrderDTO>(deletedOrderDto);
33
+ ```
34
+ dbContext.Orders.Persist(mapper).InsertOrUpdate<OrderDTO>(newOrderDto);
35
+ dbContext.Orders.Persist(mapper).InsertOrUpdate<OrderDTO>(existingOrderDto);
36
+ dbContext.Orders.Persist(mapper).Remove<OrderDTO>(deletedOrderDto);
45
37
dbContext.SubmitChanges();
38
+ ```
46
39
47
40
** Note:** This is done by converting the OrderDTO to Expression<Func<Order,bool>> and using that to find matching type in the database. You can also map objects to expressions as well.
48
41
@@ -51,6 +44,7 @@ Persist doesn't call submit changes automatically
51
44
How to get it
52
45
--------------------------------
53
46
Use NuGet Package Manager to install the package or use any of the following command in NuGet Package Manager Console.
54
-
55
- PM> Install-Package AutoMapper.Collection.EntityFrameworkCore
56
47
48
+ ```
49
+ PM> Install-Package AutoMapper.Collection.EntityFrameworkCore
50
+ ```
0 commit comments