Биндеры .Net mvc

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

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


person Magnus Bertilsson    schedule 10.02.2009    source источник


Ответы (2)


Биндеры не могут устанавливать значение только для чтения - да и не должны! Обычный сценарий - вы создали модель, и она возвращает идентификатор.

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

person Peter J    schedule 10.02.2009

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

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

person Jeep    schedule 13.07.2009