Vì vậy, tôi có tỷ lệ lượt xem gần như 1: 1 để xem các mô hình và mọi thứ dường như đang diễn ra tốt đẹp. Nếu tôi hiểu mục đích của mình một cách chính xác, có vẻ như các mô hình xem nên ASP.NET MVC: Làm thế nào để xử lý một mô hình khung nhìn với nhiều thuộc tính?
- "Cắt giảm" mô hình thực thể để chỉ các thuộc tính liên quan được chuyển đến lớp trình bày
- Thêm thông tin bổ sung cần thiết để trình bày như danh sách các từ viết tắt hoặc loại liên hệ của tiểu bang tạo một địa chỉ.
Cố gắng giữ nguyên các nguyên tắc đó, tôi đã đánh một chút tường bằng bộ điều khiển Báo cáo của mình. Các báo cáo khác nhau được tạo cho khách hàng yêu cầu quyền truy cập vào khoảng 30 thuộc tính khác nhau. Như vậy, mô hình xem của tôi kết thúc trông rất giống với mô hình Thực thể của tôi. Tất nhiên, giải pháp đơn giản nhất là chỉ cần chuyển mô hình Entity sang chế độ xem để tôi có quyền truy cập vào tất cả các thuộc tính, tuy nhiên tôi cũng cần có khả năng tạo báo cáo cho khách hàng trống hoặc "không đầy đủ". Điều này gây ra vấn đề sẽ null ngoại lệ tham chiếu khi cố truy cập các thuộc tính điều hướng trên các mô hình Entity của tôi. Vì vậy, tôi có thể sử dụng một kiểm tra null trên tất cả các lĩnh vực trong khung nhìn, mà không có vẻ quá hấp dẫn ... Hoặc tôi có thể thực hiện một mô hình xem để tránh các ngoại lệ tham chiếu null. Vấn đề là tôi sẽ kết thúc với một mô hình xem giống như sau:
var customer = customersRepository.GetCustomer(id);
var viewModel = new CustomersViewModel()
{
FirstName = customer.FirstName,
LastName = customer.LastName,
Address = customer.MailingAddress.Address,
City = customer.MailingAddress.City,
// and on and on for about 30 different properties
};
return View(viewModel);
Gõ tất cả những đặc tính đó ra là một trong những điều vừa cảm thấy sai. Tôi có thiếu một giải pháp thanh lịch hơn cho vấn đề này không?
+1 trên Automapper, tôi thấy nó vô giá đối với loại Mô hình miền này> Xem bản đồ mô hình. –
Cảm ơn bạn! Nó luôn luôn là tốt đẹp để tìm một giải pháp phù hợp hoàn hảo. –