Al mirar las preguntas y respuestas en este sitio y leer algunos de los mejores tutoriales clasificados por Google en primer lugar el desarrollo Código frecuencia veo el siguiente patrón ...¿Cuál es el sentido de crear propiedades de clave externa cuando se usa primero el código de Entity Framework?
public class Category
{
public Category()
{
Products = new Collection<Product>();
}
public Guid ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
public class Product
{
public Guid ID { get; set; }
public string Name { get; set; }
public DateTime DateAdded { get; set; }
public Guid CategoryID { get; set; } // Seemingly redundant property
public virtual Category Category { get; set; }
}
Durante la búsqueda de tutoriales Código Primero los dos siguientes páginas vienen que el uso de este mismo patrón:
http://www.codeproject.com/Articles/327945/Architecture-Guide-ASP-NET-MVC3-Entity-Framework-C
Pregunta: Entonces, ¿qué sentido tiene tener la propiedad de clave foránea en el objeto Code First C#? En el ejemplo anterior puede omitir CategoryID
de la clase Product
y todo funcionará perfectamente. La clave externa Category_ID
se seguirá creando en la base de datos.
Lo único que podía pensar es que las personas les gustaría ser capaz de especificar si la relación es opcional el uso de tipos anulables en lugar de la API fluida, pero creo que realmente confunde las cosas a tener tanto una propiedad Category
y CategoryID
.
Así que antes de ir y eliminar todas mis propiedades de clave foránea, ¿hay algo que me falta aquí? ¿De qué sirve hacer esto?
Gracias!
Creo que lo que es un 'Guid' hace? una diferencia Se pueden aplicar algunas Anotaciones de datos. –
Sí, lo mencioné en mi pregunta ... ¿algo que no se puede hacer usando la API fluida? Parece bastante malo tener dos propiedades esencialmente duplicadas cuando no es necesario. –
Posible duplicado de [Código primero: asociaciones independientes vs. asociaciones de claves extranjeras?] (Https://stackoverflow.com/questions/5281974/code-first-independent-associations-vs-foreign-key-associations) –