Cliente ADO.NET Entity Framework
Después de definir el CS/MS/SS del Entity Data Model, puede utilizar el cliente de ADO.NET Entity Framework para acceder al EDM. El proveedor de datos en el EDM accederá a los datos del. fuente de datos y luego se envía de vuelta al cliente.
Actualmente ADO.NET Entity Framework tiene tres clientes4:
Entity Client
Entity Client es el cliente nativo (Native) en ADO.NET Entity Framework Client) , su modelo de objetos es muy similar a otros clientes de ADO.NET, también tiene Connection, Command, DataReader y otros objetos, pero la mayor diferencia es que tiene su propio comando SQL (Entity SQL), que se puede usar en SQL. Acceder a EDM, en pocas palabras, es tratar a EDM como una base de datos de entidades.
// Inicializa EntityConnectionStringBuilder.
EntityConnectionStringBuilderentityBuilder = new EntityConnectionStringBuilder();
//Establece el nombre del proveedor.
entityBuilder .Provider = proveedorName;
// Establece la cadena de conexión específica del proveedor.
entityBuilder.ProviderConnectionString = proveedorString;
// Establece la ubicación de los metadatos.
entityBuilder.Metadata = @res://*/AdventureWorksModel.csdl|
res://*/AdventureWorksModel.ssdl|
res://* /AdventureWorksModel.msl;
Console.WriteLine(entityBuilder.ToString());
usando (EntityConnection conn = new EntityConnection(entityBuilder.ToString()))
{
conn.Open();
Console.WriteLine(Solo probando la conexión);
conn.Close();
}
Contexto del objeto
Debido a que Entity Client es demasiado estándar y no se ajusta al espíritu de ORM, Microsoft ha agregado una capa superior para la programación en Entity Client. La interfaz para el acceso directo al lenguaje puede tratar a EDM como un objeto. Esta interfaz es el contexto de objeto (servicio de objeto).
Cualquier acción en EDM en el contexto del objeto se convertirá automáticamente en Entity SQL y se enviará a EDM para su ejecución.
// Obtiene los contactos con el nombre especificado.
ObjectQuery
.Where(it.LastName = @ln AND it.FirstName = @fn,
new ObjectParameter(ln, lastName),
new ObjectParameter(fn, firstName));
LINQ to Entities p> p>
Object Context cambia el acceso a EDM a un método para acceder a colecciones de objetos, lo que le da a LINQ espacio para jugar, por lo que nació LINQ to Entities. En pocas palabras, utiliza LINQ para acceder a EDM, de modo que las funciones. de LINQ se puede ejercer en la base de datos.
usando (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
{
ObjectQuery
IQueryable
de p en productos
seleccione p;