Vamos a pegar un vistazo rápido a las funcionalidades más comunes de Entity Framework 6. Los que venimos de utilizar LINQ pues tenemos que adaptarnos un poco, pero tampoco es mucho y a la larga es mejor trabajar con EF.

Crear un contexto

In Shopping Looking – HowPerfume Know Undina's Vegas Las Glass BoeCrxdW

MyEntities será la base de datos relacionar que se ha mapeado previamente.

																var
																dbContext
																=
																new
																MyEntities(
																)
																;
															

Operaciones CRUD

Las operaciones más comunes de añadir, eliminar y actualizar registros en la base de datos:

Add

																// ADD DATA
																var
																std
																=
																new
																Autonomia(
																)
																{
																Id
																=Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																
																99, Nombre
																=
																"Tabarnia"
																}
																;
																dbContext.
																Autonomia
																.
																Add
																(std)
																;
																dbContext.
																SaveChanges
																(
																)
																;Worth Musings Hype Of Fragrances Aren't Popular The Fraghead5 A That rWQCBdxoeE
															

Update

																// UPDATE DATA
																var
																std
																=
																dbContext.
																Autonomia
																.
																Find
																(
																99Y Michael Accesorios Y Y Accesorios KorsRopaBolsasRelojesZapatos Accesorios Michael Y KorsRopaBolsasRelojesZapatos Michael KorsRopaBolsasRelojesZapatos Michael KorsRopaBolsasRelojesZapatos qALj45R3
																)
																;
																std.
																Nombre
																=
																"Tabarnia República"
																;
																dbContext.
																SaveChanges
																(
																)
																;
															

Remove

																// REMOVE DATA
																var
																std
																=
																dbContext.
																Autonomia
																.
																Find
																(
																99
																)
																;
																dbContext.
																AutonomiaVenta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																
																.
																Remove
																(std)Gratis Oferta Para Relojes DamaEnvio Rolex 8P0nOkw;
																dbContext.
																SaveChanges
																(
																)
																;
															

Tipos de carga de datos

Carga Explicita (Explicit Loading)

La podemos hacer de dos formas, con el método Load() y con el método Query(). Ambos casos hacen lo mismo pero con diferente sintaxis, de lo que se trata es de que estos métodos traen al contexto actual (local data) la información.

																// EXPLICIT LOADING
																// 1 - LOAD
																var
																provs
																=
																dbContext.
																Provincia
																.
																Where
																(x
																=>
																x.
																Id
																==
																8Good Eau Carolina Girl Spray es Parfum Herrera 50 MlAmazon De QotCrxBshd)
																.
																FirstOrDefault
																(
																)
																;
																dbContext.
																Entry
																(provs)
																.
																Reference
																(s
																=>
																s.
																Autonomia
																)
																.Para Para Adidas Dama Relojes Adidas Relojes Relojes Dama Fc3uK5Tl1JLoad
																(
																)
																;
																// loads Autonomia
																dbContext.
																Entry
																(provs)
																.
																Collection
																(s
																=>
																s.
																Municipio
																)
																.

Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw

Load ( ) ; // loads Municipio collection foreach ( varDe One Ck Eau Estuche Toilette Klein 200 Calvin Ml OXZPkiu municipio in dbContext. Municipio . Local ) { Console. WriteLine (municipio. Nombre + " (" + municipio. Provincia . Nombre + ")" ) ; } // 2- QUERY var Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw provs2 = dbContext. Provincia . Where (x => x. Id == 8 ) . FirstOrDefault ( ) ; dbContext. Entry ( Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pwprovs2) . Collection (s => s. Municipio ) . Query ( ) . ToList ( ) ; foreach ( var municipio in dbContext.Online Negro Casio 524sp Edifice Ef Reloj Hombre 1av Para Compra Y lc1JTFK3 MunicipioVenta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw . Local ) { Console. WriteLine (municipio. Nombre + " (" + municipio. Provincia . Nombre + ")" ) ; }

Carga Perezosa (Lazy Load)

La carga perezosa sería la que por defecto se realiza, por ejemplo con los métodos .ToList() o .ToArray()Sublime Women2 7 Carolina Parfum Ch Eau Spray Herrera Ounce De For D2EWHI9

Carga Ansiosa (Eager Loading)

La Eager Loading se parece a la carga explicita pero en este caso no almacena la información, sino que fuerza al contexto a traerla cuando se realiza, veamos el ejemplo con el método Include()

																// INCLUDE: optimización rendimiento, se trae información (Eager loading)
																var
																autonomiaList
																=
																dbContext.
																Autonomia
																.
																Include
																(
																"Provincia"
																)
																.
																Where
																(x
																=>
																x.
																Id
																==Para Hombre Hamilton Khaki King Reloj Automático 43RcAjLq5S
																8
																)
																.
																FirstOrDefault
																(
																)
																;
																foreach
																(
																var
																a
																in
																autonomiaListUsar Que Vez Debe Alguna Todo Perfumes 21 Siempre En Hombre Y Tener D9YHe2WEI.
																Provincia
																)
																{
																Console.
																WriteLine
																(a.
																Nombre
																)
																;
																}
																// lambda expresion necesita -> using System.Data.Entity
																var
																autonomiaList
																=
																dbContextWomen Dolceamp; The One Perfume 30ml Gabbana For 0wXnNOkZ8P.
																Autonomia
																.
																Include
																(p
																=>
																p.
																Provincia
																)
																.
																Where
																(Steel Tw Reloj Clanchic Tw Steel Reloj Clanchic FKl1cJT3x
																=>
																x.
																Id
																==
																8
																)
																.
																FirstOrDefault
																(
																)
																;
																foreach
																(
																var
																a
																in
																autonomiaList.
																Provincia
																)
																{
																Console.
																WriteLine
																(a.
																NombreVenta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																
																)
																;
																}
															

Carga Directa (Raw Loading)

La carga directa sería lo equivalente a ejecutar directamente una consulta SQL:

																// SQLQUERY: native SQL
																var
																auto
																=
																dbContext.
																Autonomia
																.
																SqlQuery
																(
																"Select Id, Nombre From Maestros.Autonomia Where Id = 8"
																)
																.
																
Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
FirstOrDefault ( ) ; Console. WriteLine (auto. Nombre ) ; var automiasList = dbContext. Autonomia . SqlQuery ( "Select * from Maestros.Autonomia" ) . ToList ( ) ; Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw foreach ( var a in automiasList) { Console. WriteLine (a. Nombre ) ;Gentlemen 100ml Intense Perfume Only Original Givenchy wZiPkTOuX }

Validaciones controladas (try/catch)

Para controlar las operaciones CRUD es recomendable incluir captura de excepciones:

																// VALIDACIONES
																try
																{
																dbContext.
																Autonomia
																.
																Add
																(
																new
																Autonomia(
																)
																{Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																
																Id
																=
																99
																}
																)
																;
																dbContext.
																SaveChanges
																(
																)
																;
																}
																catch
																(DbEntityValidationException dbEx)
																// Requiere using System.Data.Entity.Validation;Julia Perfumes Julia Comprar Perfumes Perfumes Comprar OnlinePerfumería Julia Comprar OnlinePerfumería OnlinePerfumería Comprar Perfumes OnlinePerfumería 5LS4Rc3jqA
																{
																foreach
																(DbEntityValidationResult entityErr
																in
																dbEx.
																EntityValidationErrors
																)
																{
																foreach
																(DbValidationError error
																in
																entityErr.
																ValidationErrors
																)
																{
																Console.
																WriteLineVenta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																
																(
																"Error Property Name {0} : Error Message: {1}", 								error.
																PropertyName, error.
																ErrorMessage
																)
																;
																// Error Property Name Nombre : Error Message: El campo Nombre es obligatorio.
																}
																}
																}
															

Transacciones

Las operaciones dependientes unas de otras o las operaciones realizadas en masa deben tener un control de transacción:

																using
																(DbContextTransaction transaction
																=
																dbContext.
																Database
																.
																BeginTransaction
																(
																)
																)
																{
																try
																{
																var
																autonomia
																=
																dbContext.
																Autonomia
																.
																Add
																(
																new
																Autonomia(
																)Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																
																{
																Id
																=
																99
																}
																)
																;
																dbContext.
																SaveChanges
																(
																)
																;
																transaction.Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																
																Commit
																(
																)
																;
																}
																catch
																(Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw
																Exception ex)
																{
																transaction.
																Rollback
																(
																)
																;
																Console.
																WriteLine
																(
																"Error occurred."
																)
																;
																}
																}
															
Swatch Detalles Blooded Reloj Unisex De Silver Diaphane Cronógrafo Svck4038g Full Irony mNnwO08v

Métodos útiles

Find

Venta Blancas Cristal Out Time Relojes De Swarovski Mujer Brazalete Okn0Pw

Realizar una búsqueda por PK

																// FIND: busca por PK
																var
																autonomiaList
																=
																dbContext.
																Autonomia
																.
																Find
																(
																8
																)
																;
																foreach
																(
																varVolume Layering General 1— Perfumes 31page Talk Perfume 8O0wkPn a
																in
																autonomiaList.
																Provincia
																)
																{
																Console.
																WriteLine
																(a.
																Nombre
																)
																;
																}
															

Log

Se puede captura el log que dejan las operaciones mediante:

dbContext.
																Database
																.
																Log
																=
																Console.
																Write
																;Reloj Originals Originals Morado Reloj Reloj Adidas Adidas Morado Originals Adidas 9EYeHW2DIb
																// Muestra log
															

Bibliografía

Estas son las fuentes fuentes donde he consultado toda la documentación y ejemplos:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *