En LINQ to SQL, las operaciones Insert, Update y Delete se realizan agregando, cambiando y quitando objetos en el modelo de objetos. De forma predeterminada, LINQ to SQL convierte estas acciones a SQL y envía los cambios a la base de datos.
LINQ to SQL proporciona la máxima flexibilidad para manipular y conservar los cambios realizados en los objetos. En cuanto están disponibles los objetos entidad (ya sea recuperándolos a través de una consulta o construyéndolos nuevamente), puede cambiarlos como los objetos normales de la aplicación. Es decir, puede cambiar sus valores, agregarlos a las colecciones y quitarlos de las mismas. LINQ to SQL realiza un seguimiento de los cambios y está listo para volver a transmitirlos a la base de datos cuando llame al método SubmitChanges().
En el siguiente ejemplo se utilizan las clases Customer y Order de la base de datos de ejemplo Northwind. Para no extendernos demasiado, no incluimos las definiciones de clase.
Northwnd db = new Northwnd(@"c:\Northwnd.mdf");
C#
// Query para un cliente especifico. var clien = (from x in db.Customers where x.CustomerID == "ALFKI" select x).First(); // Cambia el numero del contacto. clien.ContactName = "New Contact"; // Crea y agrega una nueva orden a la coleccion de ordenes. Order ord = new Order { OrderDate = DateTime.Now }; clien.Orders.Add(ord); // Eliminar una orden existente. Order ord0 = clien.Orders[0]; // Removiendola de la tabla tambien se remueve de la lista de usuarios. db.Orders.DeleteOnSubmit(ord0); // Llama al DataContext para guardar todos los cambios. db.SubmitChanges();
Al llamar al metodo SubmitChanges(), LINQ to SQL genera y ejecuta automáticamente la cosulta SQL necesarios para volver a transmitir los cambios a la base de datos.
No hay comentarios:
Publicar un comentario