5 Programación Web con .NET y C#

12
ENTITY FRAMEWORK Introducción Guido Ticona Hurtado [email protected]

Transcript of 5 Programación Web con .NET y C#

Page 1: 5 Programación Web con .NET y C#

ENTITY FRAMEWORK

Introducción

Guido Ticona [email protected]

Page 2: 5 Programación Web con .NET y C#

Entity Framework Conjunto de tecnologías ADO.NET Aplicaciones orientados a datos ORM Object Relational Mapping

Page 3: 5 Programación Web con .NET y C#

Enfoques EF Code First Model First Database First

Page 4: 5 Programación Web con .NET y C#

EF Query normalEntityConnection econn=new

EntityConnection(“name=contexto”);econn.Open();EntityCommand ecmd=econn.CreateCommand();ecmd.CommandText=sql;EntityReader ereader=new

EntityReader(CommandBehavior.SequencialAccess);While (ereader.Read()){

Ereader.GetValue(1)}

Page 5: 5 Programación Web con .NET y C#

EF store procedureecmd.CommandText=“nombre_sp”;ecmd.CommandType=CommandType.StoredProc

edure;EntityParameter p=new

EntityParameter();p.value=3;p.ParameterName=“nombre”;ecmd.Parameters.add(p);ecmd.executenonquery();

Page 6: 5 Programación Web con .NET y C#

LINQ Language INtegrated Query Consultas Nativas Integradas en el

lenguaje Soporta todos los lenguajes .NET Sintaxis similar a SQL Ejecución diferida

Page 7: 5 Programación Web con .NET y C#

LINQ (Cont.) Modelo de programación Simplifica la implementación de acceso

a cualquier tipo de dato LINQ no impone usar una arquitectura

de acceso a datos

Page 8: 5 Programación Web con .NET y C#

LINQ (Cont.)

Page 9: 5 Programación Web con .NET y C#

LINQ to SQL ORM RAD WebForms Principalmente trabaja con SQLServer Se genera un archivo .DBML Antes DLinq

Page 10: 5 Programación Web con .NET y C#

EF Diferencia Desarrollo empresarial Trabaja con modelo conceptual Soporta muchos Proveedores Se genera archivo .EDMX

Page 11: 5 Programación Web con .NET y C#

Ejemplo Consulta

from p in db.Personawhere p.Sueldo > 1000select p;

Page 12: 5 Programación Web con .NET y C#

Ejemplo Actualizacióndb.Persona.single(p=>p.Nombre==“Jose”)persona.sueldo =2000;db.Submitchanges();