Transacciones con Entity Framework
Un ejemplo de uso podría ser:
using (ModelContextContainer context= new ModelContextContainer()) { context.Connection.Open(); DbTransaction tx = context.Connection.BeginTransaction(); //Operacion 1 //....... context.SaveChanges(); //Operacion 2 //....... context.SaveChanges(); tx.Commit();//aqui se salvan todas las operaciones context.Connection.Close(); }
Más información: Administrar conexiones y transacciones (Entity Framework)
Usar SQL en Entity Framework
Hay distintas posibilidades, a continuación se expondrán algunas de ellas:
1 – Se puede utilizar el método ExecuteStoreQuery para lanzar queries contra el origen de datos:
using (SchoolEntities context = new SchoolEntities()) { // Use the parameter substitution pattern. foreach (string name in context.ExecuteStoreQuery< string > ("Select Name from Department where DepartmentID < {0}", 5)) { Console.WriteLine(name); } // Use parameter syntax with object values. foreach (string name in context.ExecuteStoreQuery< string > ("Select Name from Department where DepartmentID < @p0", 5)) { Console.WriteLine(name); } // Use an explicit SqlParameter. foreach (string name in context.ExecuteStoreQuery< string > ("Select Name from Department where DepartmentID < @p0", new SqlParameter { ParameterName = "p0", Value = 5 })) { Console.WriteLine(name); } }
2 - Otra forma sería usar el método translate para convertir un DbDataReader en (siguiente el ejemplo anterior) objetos del tipo Department.
3 - También tenemos el método ExecuteStoreCommand, que permite ejecutar comandos directamente contra el origen de datos: insert, update,...
4 - Otra posibilidad que nos permite Entity Framework consiste en crear una EntityConnection para usar un EntityCommand
NorthwindEntities context = new NorthwindEntities(); EntityConnection conn = new EntityConnection(context.Connection.ConnectionString); conn.Open(); var sql = "SELECT VALUE emp FROM NorthwindEntities.Employees AS emp"; EntityCommand cmd = new EntityCommand(sql, conn); DbDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess); while (reader.Read()) { Console.WriteLine("{0} {1} {2} {3}", reader["EmployeeID"], reader["LastName"], reader["FirstName"], reader["Country"]); }
Fuentes:
Cómo: Ejecutar directamente comandos contra el origen de datos en .Net Framework 4
Cómo ejecutar una consulta de Entity SQL parametrizada con EntityCommand
Categorias
- adobe (2)
- agile (1)
- Alfresco (1)
- Android (26)
- Angular (6)
- angularjs (10)
- apache (1)
- axis (2)
- Bases de datos (14)
- Bootstrap (1)
- C# (3)
- Cámara (1)
- chrome (3)
- Codeigniter (2)
- Control de Versiones (2)
- CSS (25)
- CVS (1)
- Django (9)
- Django Rest Framework (1)
- DNS (1)
- Docker (3)
- dominio (1)
- eclipse (5)
- Entity Framework (2)
- ETL (1)
- Firefox (6)
- flash (1)
- freecad (1)
- Git (12)
- GitHub (4)
- gpg (2)
- Groovy (1)
- Handlebars (1)
- hibernate (4)
- hosting (1)
- HTML (50)
- HTML 5 (26)
- Impresión 3D (9)
- Inkscape (1)
- IOS (2)
- ireports (3)
- Java (44)
- Javascript (55)
- JBoss (5)
- JPA (2)
- JQuery (20)
- Json (7)
- JSP (6)
- Keycloak (1)
- Lamp (1)
- LDAP (2)
- lean (1)
- linkedin (1)
- LINQ (1)
- linux (13)
- Livecycle (1)
- log (1)
- microcontroladores (1)
- MongoDB (4)
- MySQL (8)
- Node.js (5)
- OC4J (1)
- Openshift (2)
- Oracle (6)
- Patrones de Diseño (1)
- Photoshop (2)
- php (20)
- PostgreSQL (1)
- python (19)
- rabbitmq (1)
- Raspberry PI (13)
- Raspherry PI (5)
- React (6)
- seguridad (3)
- Selenium (3)
- Sencha Touch (1)
- Sin categoría (29)
- Spring (17)
- spring-boot (3)
- SQL (7)
- SQLServer (1)
- SSO (1)
- struts (2)
- SVN (1)
- Talend (1)
- Tomcat (6)
- unity (3)
- Visual Studio Code (2)
- vmware (5)
- Web Services (11)
- windows (18)
- wordpress (10)
- Xiaomi (1)
- xml (2)
Trabajos Realizados
- App Android – Autoka Fr
- App Android – Cartelera Cántabra
- App Android – Gramática y Vocabulario Ingles
- App Android – Hoja de Gastos
- App Android – Hotel Torre Cristina
- App Android – OcioEnjoy
- App Android – Visor CardBoard
- App Firefox – Managapp
- DiamanteBomba – DisasterCode
- Generador de Partes de Trabajo
- GitHub – Android Web Generator
- GitHub – Dynamic Angular Gallery
- GitHub – Dynamic React Gallery
- GitHub – Sotilizator
- GitHub – SpringAngularJS
- GitHub – Swiper Dynamic Angular Gallery
- HazParejas – DisasterCode
- RompeCabezas – DisasterCode
- Unity Game – English Couple
- Unity Game – Kill Wasp
- WordPress – El Buen Apicultor
- WordPress – El Cajón de los Retales
- WordPress – El Vestidito Azul
- WordPress – Feuchas
- WordPress – Fragua de Navajas Ponce
- WordPress – Humor a las Tres
- WordPress – Photo Places