Мой вопрос в основном такой же, как в ситуации, представленной в this stack overflow question, где я нахожусь в желании загрузить существующую действующую версию модели из БД и обновить часть его, поскольку определенный поднабор полей отображается в моей веб-форме.Лучший способ частичного обновления модели ASP.NET MVC (форма представления пользователя «merge» с моделью)
В любом случае, я могу заставить процесс привязки модели гарантировать, что мое свойство ID будет связано первым?
Если бы я мог гарантировать это, то внутри установщика моего свойства идентификатора ViewModel я мог бы вызвать «нагрузку», так что объект изначально заполняется из БД (или службы WCF .. или файла Xml .. или другого репозитория выбора), а затем остальные свойства, отправленные из сообщения FORM, аккуратно сливаются в объект, поскольку MVC завершает процесс привязки модели.
Тогда мой метод IValidatableObject.Validate логика красиво сказать мне, если полученный объект остается в силе .. и так далее, и так далее ..
Это только мне кажется, что, чтобы писать сантехнику, где у меня есть два экземпляра модели (knownValidDomainModelInstanceFromStorage, publishedPartialViewModelInstanceFromForm), а затем вручную сопоставление требуемых свойств - это повторение того, что действительно обрабатывается MVC ... если бы я мог контролировать только порядок привязки идентификатора.
РЕДАКТИРОВАТЬ - Я обнаружил, что для привязки к объекту можно управлять с помощью специального связующего. Очень легко. Прочтите ответ, который я разместил ниже. По-прежнему приветствую ваши отзывы или замечания.
Я начал использовать эту концепцию, и, похоже, она работает до сих пор. Нужно было немного поработать над установщиком идентификатора ViewModel, чтобы он загружался так, как я хотел, не рекурсивный сам по себе .. но .. после этого все это похоже на оснастку. Нет более частичных моделей или частичного картирования кошмаров. Надеясь, что кто-то найдет его полезным, как у меня. – bkwdesign