9

Tôi có một mô hình miền đơn giản trong một hội đồng bên ngoài. Mô hình này sử dụng DTO để giao tiếp với một vài lớp dịch vụ. Nó không sử dụng Entity Framework.Giàn giáo một mô hình bên ngoài trong ASP.NET MVC 5

Trong Visual Studio 2012, tôi có thể chọn DTO của mình trong hộp thoại Thêm chế độ xem và tạo khung nhìn mạnh mẽ cho chúng.

Visual Studio 2012 scaffolding

Tuy nhiên, DTOs không hiển thị trong hộp thoại Add Xem trong Visual Studio 2013.

Visual Studio 2013 scaffolding

quan điểm mạnh mẽ, đánh máy tôi tạo bằng tay chỉ làm việc tốt, vì vậy vấn đề isn Đó là Razor/MVC không thể nhìn thấy hoặc sử dụng DTO của tôi. Vấn đề là chỉ với giàn giáo.

Mọi trợ giúp sẽ được đánh giá cao.

+0

Tôi đã tìm ra một bản hack. Tôi đã tạo một lớp trong thư mục Models với các thuộc tính giống như DTO của tôi và sau đó tạo Views từ nó. Sau đó, tôi đã đi vào mỗi quan điểm và thay đổi mô hình trở lại DTO của tôi. Tôi đã xóa lớp trong thư mục Mô hình khi tôi có tất cả các chế độ xem mà tôi cần. Vẫn đang tìm kiếm một giải pháp thực sự. –

+0

@Cory Đây có phải là https://stackoverflow.com/a/20480300/495455 trùng lặp không? –

+3

Hãy xem [Visual Studio 2013 Pro Add View không hiển thị Mô hình Thư viện Lớp Truy cập Dữ liệu được tham chiếu trong danh sách thả xuống Lớp Mô hình.] (Https://connect.microsoft.com/VisualStudio/feedback/details/809839/ danh sách thả xuống-studio-2013-pro-add-view-hiện-không-show-a-tham chiếu-dữ liệu-truy cập-lớp-thư viện-mô hình-trong-mô hình-lớp-danh sách-thả-xuống-danh sách). Cách giải quyết được đề xuất là sử dụng tham chiếu dự án. –

Trả lời

0

Vì vậy, DTO của bạn sống ở một nơi khác với không gian tên dự án hoặc không gian tên .Models. Trình đơn thả xuống có mối quan hệ để kéo các lớp để có các chế độ xem được nhập mạnh mẽ từ đó. Tôi nhận ra rằng DTO của bạn có thể sống trong một assembly khác, và hack của bạn là gì, nhưng có cách nào để biên dịch lại chúng vào không gian tên MvcDemo.Models trong assembly khác và khai báo một phần lớp trong không gian tên mô hình trong dự án MVC? Đó có thể không phải là câu trả lời lý tưởng, và nếu bạn không thích ý tưởng đó, tôi sẽ sẵn sàng xóa câu trả lời của tôi.

+0

Các lớp một phần không thể mở rộng các cụm, ngay cả khi chúng chia sẻ cùng một không gian tên, vì vậy rất tiếc tôi không nghĩ rằng nó sẽ hoạt động. –

Các vấn đề liên quan