2009-02-10 2 views
0

Je suis en désaccord avec les classeurs de modèle dans le cadre Microsofts mvc. J'ai une classe de base pour mes modèles de domaine qui ont une propriété id qui est readonly et type guid. Mais comme il est en lecture seule, les classeurs ne peuvent pas définir la valeur de la propriété. Alors, suis-je totalement foutu ou quelqu'un peut-il résoudre mon problème?.NET mvc liers

EDIT: Désolé comme toujours il y a des informations supplémentaires que j'ai oublié de mentionner, la seule fois où je veux que le classeur lier la propriété id est quand c'est un objet lié à un autre objet modèle. Comme dans ce cas quand j'ai choisi une catégorie pour un post et je ne veux que l'identifiant pour l'ORM.

Répondre

1

Les classeurs ne peuvent pas définir une valeur en lecture seule - ils ne devraient pas non plus! Le scénario commun est que vous avez créé un modèle et qu'il renvoie un ID.

La prochaine fois que vous récupérez cet objet, l'ID est transmis au constructeur pour faciliter la récupération de l'objet. À aucun moment, vous n'avez besoin de lier cette propriété dans les deux sens.

1

Je ne suis pas d'accord avec la réponse, -Pourquoi le classeur ne devrait-il pas être en mesure de définir des propriétés en lecture seule ou privées? Cela introduit une limitation et empêche les objets d'être immuables. (Vous pouvez bien sûr implémenter un propre modelbinder)

Je ne suis pas un expert en reliure ou en réflexion mais je suppose que l'implémentation standard utilise la réflexion et la réflexion pour ne pas définir de propriétés privées.