Mapster là một thư viện ánh xạ đối tượng (object-to-object mapping) mã nguồn mở, hiệu suất cao dành cho .NET, được tạo ra bởi Albert Huang. Nó giúp sao chép dữ liệu từ kiểu đối tượng này sang kiểu đối tượng khác (ví dụ: DTO sang Entity) một cách gọn nhẹ, nhanh chóng, thường được dùng thay thế cho AutoMapper. Cài đặt Mapster Bước đầu tiên là cài đặt package Mapster thông qua NuGet Package Manager Console: Install-Package Mapster Chuẩn bị môi trường (Model & DTO) Giả sử chúng ta có các class thực thể (Entities) và một class DTO (Data Transfer Object) để hứng dữ liệu: public class Person { public string Title { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public DateTime? DateOfBirth { get; set; } public Address Address { get; set; } } public class Address { public string Street { get; set; } public string City { get; set; } public string PostCode { get; set; } public string Country { get; set; } } publ...
.NET ASP.NET Visual Studio Đây là phần 2 trong series modernize ASP.NET MVC 5 trên .NET Framework 4.8. Ở Part 1 , chúng ta đã migrate project sang SDK-style .csproj . Bây giờ nền móng đã sạch, có thể bắt đầu tối ưu phần “đụng nhiều nhất mỗi ngày”: mapping giữa entity và ViewModel . 1. Vì sao nên thay AutoMapper? AutoMapper rất tiện — nhưng cũng có những trade-off: Mapping diễn ra ở runtime → khó debug Logic bị “giấu” trong config Performance không tối ưu trong một số case Khi project lớn dần, những vấn đề này bắt đầu rõ ràng hơn. Giải pháp thay thế: compile-time mapping . Một trong những thư viện nổi bật: Mapperly . 2. Mapperly là gì? Mapperly sử dụng Source Generator để generate code mapping ngay lúc build. Nghĩa là: Không còn reflection Không còn runtime mapping Mapping = code C# thật (có thể debug) Hiểu đơn giản: thay vì “config mapping”, bạn “viết mapping — và tool generate phần còn lại”....