Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 14aa0b0

Browse files
add auto mapper (#2)
1 parent 007ba41 commit 14aa0b0

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

‎CS/InstantFeedback.csproj‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<ImplicitUsings>enable</ImplicitUsings>
66
</PropertyGroup>
77
<ItemGroup>
8+
<PackageReference Include="AutoMapper" Version="12.0.1" />
89
<PackageReference Include="DevExpress.Blazor" Version="23.1.3" />
910
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.4" />
1011
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.4" />

‎CS/Pages/Index.razor‎

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@page "/"
2-
2+
@usingAutoMapper
33
@using InstantFeedback.Models;
44
@using Microsoft.EntityFrameworkCore
55
@using DevExpress.Data.Linq
@@ -48,26 +48,24 @@
4848
@code {
4949
EntityInstantFeedbackSource InstantFeedbackSource { get; set; }
5050
NorthwindContext Northwind { get; set; }
51+
IMapper ProductMapper { get; set; }
5152

5253
protected override void OnInitialized() {
5354
Northwind = NorthwindContextFactory.CreateDbContext();
5455
InstantFeedbackSource = new EntityInstantFeedbackSource(e => {
5556
e.KeyExpression = "OrderId";
5657
e.QueryableSource = Northwind.Orders;
5758
});
59+
var config = new MapperConfiguration(c => c.CreateMap<Order, Order>());
60+
ProductMapper = config.CreateMapper();
5861
}
5962
async Task OnEditModelSaving(GridEditModelSavingEventArgs e) {
6063
var editModel = (Order)e.EditModel;
6164
// Re-query a data item from the database.
6265
var dataItem = e.IsNew ? new Order() : Northwind.Orders.Find(editModel.OrderId);
6366
// Assign changes from the edit model to the data item.
6467
if (dataItem != null) {
65-
dataItem.ShipName = editModel.ShipName;
66-
dataItem.ShipCity = editModel.ShipCity;
67-
dataItem.ShipCountry = editModel.ShipCountry;
68-
dataItem.Freight = editModel.Freight;
69-
dataItem.OrderDate = editModel.OrderDate;
70-
dataItem.ShippedDate = editModel.ShippedDate;
68+
ProductMapper.Map<Order, Order>(editModel, dataItem);
7169
// Post changes to the database.
7270
if (e.IsNew)
7371
await Northwind.AddAsync(dataItem);
@@ -90,4 +88,4 @@
9088
InstantFeedbackSource?.Dispose();
9189
Northwind?.Dispose();
9290
}
93-
}
91+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /