9

У меня есть простая модель домена во внешней сборке. Эта модель использует DTO для связи с несколькими классами обслуживания. Он не использует Entity Framework.Леса внешняя модель в ASP.NET MVC 5

В Visual Studio 2012 я мог бы выбрать мои DTO в диалоговом окне «Добавить вид» и отобразить строго типизированные представления для них.

Visual Studio 2012 scaffolding

Однако DTOS не отображаются в диалоговом окне Add View в Visual Studio 2013.

Visual Studio 2013 scaffolding

Сильно типизированных я создаю вручную работать просто отлично, так что вопрос ISN что Razor/MVC не может видеть или использовать мои DTO. Проблема только с подмостей.

Любая помощь будет оценена по достоинству.

+0

Я придумал взломать. Я создал класс в папке «Модели» с теми же свойствами, что и мой DTO, а затем создал «Представления». Затем я вошел в каждую из просмотров и сменил модель на мой DTO. Я удалил класс в папке «Модели», когда у меня были все необходимые мне взгляды. Все еще ищет реальное решение. –

+0

@Cory Это дубликат https://stackoverflow.com/a/20480300/495455? –

+3

Взгляните на [Visual Studio 2013 Pro Add View не показывает ссылочную модель библиотеки классов доступа в раскрывающемся списке Model Class.] (Https://connect.microsoft.com/VisualStudio/feedback/details/809839/ зрительно-студия-2013-про-надстройку вид-делает-не-шоу-а ссылки-доступа к данным класса-библиотека-модель-в-модели-класса-выпадающий список). Предлагаемое обходное решение заключается в использовании ссылки на проект. –

ответ

0

Так что ваш DTO живет где-то, кроме пространства имен проектов или пространства имен .Models. Выпадающее меню имеет сродство к тому, чтобы вытаскивать классы для строго типизированных представлений. Я понимаю, что ваши DTO могут жить в другой сборке и что ваш взлом был, но есть ли способ перекомпилировать их в пространство имен MvcDemo.Models в другой сборке и объявить частичный класс в пространстве имен моделей в проекте MVC? Это не идеальный ответ, и если вам не нравится эта идея, я с удовольствием удалю свой ответ.

+0

Частичные классы не могут охватывать сборки, даже если они имеют одинаковое пространство имен, поэтому, к сожалению, я не думаю, что это сработает. –

Смежные вопросы