Tôi hiện đang sử dụng ViewModels để tách các Chế độ xem của tôi khỏi cấu trúc Mô hình thực tế."Hợp nhất" Mô hình và ViewModel có hoặc không có AutoMapper?
Ví dụ: Tôi có một thực thể kiên trì người dùng và một ViewModel MyProfile chứa tất cả thông tin mà người dùng có thể tự thay đổi. Để chuyển đổi từ Người dùng sang MyProfile Tôi đang sử dụng Automapper.
Bây giờ sau khi người dùng đăng lại thông tin (đã thay đổi) của anh ấy, tôi cần lưu các thông tin này. Nhưng thông tin trong ViewModel không hoàn chỉnh và khi AutoMapper tạo một thực thể persistence User từ ViewModel, thông tin quan trọng sẽ bị mất.
Tôi không muốn hiển thị thông tin này cho Lớp Chế độ xem, đặc biệt là không có các phần tử biểu mẫu ẩn.
Vì vậy, tôi cần một cách để hợp nhất một ViewModel thành một thực thể kiên trì. Tôi có thể làm điều đó với AutoMapper, hay tôi phải làm điều đó bằng tay?
Ví dụ:
Lớp người dùng của tôi chứa ID, FirstName, LastName, Username và Password. Người dùng chỉ nên chỉnh sửa Tên và Họ của mình trong tiểu sử của mình. Do đó ProfileViewModel của tôi chứa ID, Firstname và LastName. Sau khi gửi lại thông tin từ biểu mẫu, Automapper tạo một đối tượng User từ ProfileViewModel đã chuyển, và trong đối tượng này chỉ có ID, Firstname và LastName được thiết lập. Khi cung cấp Thực thể này cho Kho lưu trữ của tôi, tôi đã mất thông tin về tên người dùng và mật khẩu.
Tại sao các thông tin không được hoàn thành? Bạn có thể đăng một đoạn mã không? –
Tôi đã sử dụng Mapper.Map (mô hình) thay vì đầu tiên tra cứu Thực thể người dùng và sau đó sử dụng Mapper.Map (người dùng, kiểu máy) –
ckonig