actualizar y eliminar
Una limitación actual del marco de la entidad es que con el fin de actualizar o eliminar una entidad que tiene que recuperar primero en la memoria. Además, para las eliminaciones individuales, el objeto debe recuperarse antes de que pueda eliminarse y requiera dos llamadas a la base de datos. Para superar este problema, debemos ampliar el marco de entidad actual utilizando EntityFramework.Extended. EntityFramework.Extended tiene funciones útiles como Actualización por lotes y Eliminar, Registro de auditoría, Caché de resultados de consulta, Consultas futuras. La actualización y eliminación de lotes elimina la necesidad de recuperar y cargar una entidad antes de modificarla. Aquí hay algunas líneas de código para demostrar cómo eliminar, actualizar.
instalar a través de Nuget
PM> Install-Package EntityFramework.Extended
Actualizar
Escenario: Actualizar los clientes que tienen EE.UU. país. Si hacemos esto sin ninguna extensión, tenemos que buscar a todos los clientes que tengan el país USA, modificar la lista y actualizarla usando loops. Al utilizar Entity Framework. Extendido, no es necesario que obtengamos la lista de clientes, simplemente agreguemos el estado, establezcamos los datos de actualización y ejecutemos la consulta.
static void Main(string[] args)
{
using(var db = new DataContext())
{
db.Customers.Where(c => c.Country == "USA").Update(c => new Customer()
{
Country = "IN"
});
foreach(var customer in db.Customers.ToList())
{
Console.WriteLine("CustomerInfo - {0}-{1}-{2}", customer.Name, customer.Country, customer.Status);
}
}
Console.ReadLine();
}
https://code.msdn.microsoft.com/entity-framework-batch-994cd739
+1 ¡Guau, este es un gran enlace! Estoy a punto de cambiar de opinión sobre el crédito de respuesta ... –
¡Sí, la solución de Terry Aney es genial! ¡Responde crédito para ti! –
@Shaul Esta podría ser una gran respuesta ahora, pero las respuestas de solo el enlace tienen este problema que tarde o temprano se vuelven inútiles, porque el recurso externo ya no se puede alcanzar. Siempre es mejor escribir al menos una parte de la solución aquí, de modo que estará disponible mientras SO viva. – jahu