11

Estoy usando .NET MVC 3 Code-First approach. Mi dominio haber una entidad llamada Question, esta entidad tiene una propiedad que es ScoreByte y quiero reemplazar esa propiedad a un Enum y el nombre de este Enum a Score donde puedo configurar los valores de 0 a 10.¿Dónde deberían las enumeraciones vivir en una estructura de proyecto MVC?

Dónde debe ¿Los enum viven en esa estructura? En una carpeta llamada Enumeraciones en mi carpeta modelo?

Actualización:

Esa es mi estructura del proyecto en Modelos carpeta:

enter image description here

Respuesta

1

Parece que tiene un objeto de valor. Lo pondría en el mismo lugar donde colocas otros objetos de valor en tu dominio, lo que realmente depende de la estructura de tu carpeta. Definitivamente en la carpeta Modelo, pero si está subdividiendo la carpeta del modelo, depende de cómo lo haga. ¿Tiene una subcarpeta Q & A? Tal vez va allí al lado de las preguntas. ¿O tienes una subcarpeta Value Objects? Tal vez ahí.

+0

ver la actualización ... .... ... –

+0

En ese caso, crearía una nueva subcarpeta de Value Objects y la colocaría allí. – Domenic

1

A menos que haya un mejor lugar para ponerlos, les pegan en la carpeta del modelo.

Si tiene muchos Enume, es posible que desee hacer la idea de carpeta que estaba haciendo. No creo que lo llamaría "enumeraciones", ya que no es muy descriptivo.

5

Lo que realmente debería preocuparle es el espacio de nombres de sus enumeraciones.

Independientemente de dónde exista su archivo de clase en la solución, su código dependerá de los espacios de nombres. Estoy pensando que probablemente quieras un espacio de nombres como: Questiona2011.Enums. No será una buena idea vincular las clases Enum con el espacio de nombres Models; no es que no se pueda hacer, pero a veces las vistas pueden necesitar interactuar con sus enumeraciones. Así que tiendo a dar a mis enums un espacio de nombres separado.

No necesita necesariamente crear una carpeta para el archivo de clase ... puede seguir en el directorio raíz si lo desea - El factor real es el espacio de nombres.

Por lo tanto crear una clase con el espacio de nombres de este modo:

using System; 

namespace Questiona2011.Enums 
{ 
    public enum Score 
    { 
     One = 1, 
     Two = 2, 
     . 
     . 
     . 
     Ten = 10 
    } 
} 

Una vez dicho esto, yo acababa de soltar el archivo en la carpeta de clase modelos. :)

0

Si su proyecto se está volviendo lo suficientemente grande como para preocuparse por la organización, debería considerar la creación de un nuevo proyecto que sea solo una DLL para los tipos de sus aplicaciones.

Cuestiones relacionadas