.Net Mvc Binders - PullRequest
       11

.Net Mvc Binders

0 голосов
/ 11 февраля 2009

У меня возникли разногласия с модельными папками в фреймворке Microsofts mvc. У меня есть базовый класс для моих моделей доменов, у которых есть свойство id, которое доступно только для чтения, и введите guid. Но поскольку он доступен только для чтения, связыватели не могут установить значение свойства. Так я полностью облажался или кто-то может решить мою проблему?

РЕДАКТИРОВАТЬ: Извините, как всегда есть дополнительная информация, которую я забыл упомянуть, единственный раз, когда я хочу, чтобы связыватель связал свойство id, когда это связанный объект с другим объектом модели. Как в этом случае, когда я выбрал категорию для сообщения и мне нужен только идентификатор для ORM.

Ответы [ 2 ]

1 голос
/ 13 июля 2009

Я не согласен с ответом: -Почему связыватель не может устанавливать свойства readonly или private? Это вводит ограничение и предотвращает неизменность объектов. (Конечно, вы можете реализовать собственное связующее для моделей)

Я не эксперт по связующим элементам или рефлексии, но я предполагаю, что стандартная реализация использует рефлексию и рефлексию, не устанавливая ограничение на не установку частных свойств.

1 голос
/ 11 февраля 2009

Связующие не могут устанавливать значение только для чтения - и не должны! Распространенным сценарием является то, что вы создали модель, и она возвращает идентификатор.

При следующем получении этого объекта идентификатор передается в конструктор, чтобы упростить поиск объекта. Ни в коем случае вам не нужно двустороннее связывание этого свойства.

...