la mise en œuvre des valeurs par défaut dans un Modèle
En C# MVC de l'application, j'ai un Modèle, le Client, qui peut être récupéré à partir de la base de données ou créé en tant que nouveau.
Si je suis entrain de créer un nouveau Client quelle est la bonne façon de définir des valeurs par défaut (tels que CusotmerLevel 1 par défaut)?
Devrais-je avoir différents constructeurs pour un nouvel employé et l'employé extraites de la base de données, ou d'une autre façon?
OriginalL'auteur A Bogus | 2013-04-09
Vous devez vous connecter pour publier un commentaire.
En supposant que c'est un POCO, j'ai toujours trouvé que le constructeur est très bien pour l'établissement de valeurs par défaut. J'ai l'habitude de profiter de l'occasion pour déclarer des choses comme
CreatedDate
. Lorsqu'il est extrait de la base de données, les propriétés publiques seront remplacées par les valeurs de base de données, de toute façon.Mise à jour
Et, si vous êtes à l'aide de C# 6.0 découvrez auto-propriété des initialiseurs:
OriginalL'auteur Brad Christie
Utiliser le constructeur par défaut, tous les Formulaires que j'ai essayé de définir des valeurs après le constructeur est exécuté de sorte qu'il ne devrait pas intervenir.
Une méthode alternative serait:
OriginalL'auteur AlexanderBrevig
Vous pouvez utiliser le
Factory
modèle pour créer un nouveau client. De cette façon, vous pouvez donner à l'Usine de la responsabilité de réglage de l'valeurs par défaut.Si non utilisable, je voudrais mettre dans le constructeur par défaut.
OriginalL'auteur JMan
Dans le constructeur est très bien, et vous pouvez donner des valeurs par défaut aussi comme arguments dans le constructeur, comme mentionné ci-dessus.
Si vous utilisez nullable valeurs, cependant, qui je trouve est très utile avec le modèle de la première base de données de travail, vous pouvez également utiliser cette:
Ce doit toujours donner la valeur de Base de données, sauf si aucune valeur de base de données existe. Mais une fois que le nouvel objet est conservé dans la base de données, il doit avoir la valeur par défaut dans la base de données à partir de là.
OriginalL'auteur Arwin
vous devriez avoir un viewmodel pour créer une nouvelle vue
de sorte que vous pouvez le faire comme ceci:
OriginalL'auteur Omu
Utiliser un commun constructeur pour la création de nouveaux employés et de la récupération de l'existant.
Pour les valeurs par défaut, utilisez des arguments optionnels.
http://msdn.microsoft.com/en-us/library/dd264739.aspx
OriginalL'auteur SMS