c# - programar - google spreadsheets integration
¿Qué es la aplicación api de Entity Framework? (5)
Sigo escuchando acerca de Entity Framework con fluidez, pero me cuesta encontrar una buena referencia sobre esto. ¿Qué es?
Usamos el marco de entidad y la herramienta de modelado proporcionada. ¿Eso es todo lo que es? o es algo diferente?
Del mismo modo, si no es una pregunta demasiado amplia, ¿qué es POCO? Sé que es sinónimo de objetos CLR de Plain Old, pero ¿qué significa eso para mí como alguien que usa EF ya con la herramienta de modelo de diseño? Si esa pregunta es demasiado vaga, ignórela. Estoy aprendiendo aquí y cualquier información que esté dispuesta a proporcionarme es útil.
Entity Framework 4.1 introduce el primer enfoque del código para escribir modelos de bases de datos. Esto también se llama POCO (Objetos Clair Old CLR). La idea es que pueda construir su base de datos a partir de estas clases, en lugar de construir primero la base de datos y crear un modelo a partir de eso.
Hay toneladas de buenos artículos de blog y documentación de MSDN sobre esto. Un buen lugar para comenzar sería
http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-fluent-api-samples.aspx
Considera que la API es fluida, básicamente utiliza las clases EF para construir su base de datos, por ejemplo:
modelBuilder.Entity<Category>().HasKey(c => c.CategoryCode);
Por lo tanto, indica manualmente que la tabla Category
tiene una clave principal llamada `CategoryCode ''. También puedes declarar PK así:
public class Category
{
[Key]
public int CategoryCode { get; set;}
}
El atributo [Key]
proviene de anotaciones de datos
POCO significa Objeto CLR Plain Old.
Article sobre API fluida.
Respondiendo a su pregunta de POCO: en la aplicación en la que estoy trabajando actualmente estoy usando POCO para pasar datos a mi interfaz de Silverlight (EF simplemente no estaba cortando). Básicamente, utilizo las entidades creadas por el modelador de EF, las masajeo en una versión amigable en serie y luego las envío por el cable. Los POCO están ahí para proporcionar una capa de abstracción cuando sea necesario. Lo veo como una adaptación del patrón DAO a la serialización, en lugar de usarlo para acceso a BD como lo hace normalmente el patrón DAO.
También puede consultar la sección API de Code First Fluent en MSDN aquí http://msdn.microsoft.com/en-us/library/hh295844
Vea el párrafo sobre las clases de POCO en http://www.asp.net/entity-framework/tutorials/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application
Esencialmente, en el contexto de EF, las clases POCO son clases de entidad que no heredan de la clase EntityObject de Entity Framework (que es lo que obtienes por defecto en Database First o Model First). Como menciona una de las otras respuestas, esto hace que sea más fácil serializar los objetos, pero también algunas metodologías de desarrollo y pruebas automatizadas prefieren trabajar con objetos que no hacen referencia al Marco de la Entidad.