update mvc multiple linq linq-to-sql

mvc - linq update multiple records



ActualizaciĆ³n usando LINQ to SQL (7)

¿Cómo puedo actualizar un registro contra una identificación específica en LINQ to SQL?


A falta de información más detallada:

using(var dbContext = new dbDataContext()) { var data = dbContext.SomeTable.SingleOrDefault(row => row.id == requiredId); if(data != null) { data.SomeField = newValue; } dbContext.SubmitChanges(); }


Actualizar

NorthwindDataContext db = new NorthwindDataContext(); Product product = db.Products.Single(p => p.ProductName == "Toy 1"); product.UnitPrice = 99; product.UnitsInStock = 5; db.SubmitChanges();

Insertar

Dim db As New NorthwindDataContext '' Create New category and Products Dim category As New Category category.CategoryName = "Scott''s Toys" Dim product1 As New Product category.ProductName = "Toy 1" Dim product2 As New Product category.ProductName = "Toy 2"


Encontré una solución hace una semana. Puede usar comandos directos con " ExecuteCommand ":

MDataContext dc = new MDataContext(); var flag = (from f in dc.Flags where f.Code == Code select f).First(); _refresh = Convert.ToBoolean(flagRefresh.Value); if (_refresh) { dc.ExecuteCommand("update Flags set value = 0 where code = {0}", Code); }

En la instrucción ExecuteCommand , puede enviar la consulta directamente, con el valor para el registro específico que desea actualizar.

value = 0 -> 0 es el nuevo valor para el registro;

code = {0} -> es el campo donde enviará el valor del filtro;

Código -> es el nuevo valor para el campo;

Espero que esta referencia ayude.


LINQ es una herramienta de consulta (Q = Query), por lo que no hay una forma LINQ mágica para actualizar solo la fila, excepto a través del contexto de datos (orientado a objetos) (en el caso de LINQ-to-SQL). Para actualizar los datos, debe extraerlos, actualizar el registro y enviar los cambios:

using(var ctx = new FooContext()) { var obj = ctx.Bars.Single(x=>x.Id == id); obj.SomeProp = 123; ctx.SubmitChanges(); }

O escriba un SP que haga lo mismo en TSQL y exponga el SP a través del contexto de datos:

using(var ctx = new FooContext()) { ctx.UpdateBar(id, 123); }


DataClassesDataContext dc = new DataClassesDataContext(); FamilyDetail fd = dc.FamilyDetails.Single(p => p.UserId == 1); fd.FatherName=txtFatherName.Text; fd.FatherMobile=txtMobile.Text; fd.FatherOccupation=txtFatherOccu.Text; fd.MotherName=txtMotherName.Text; fd.MotherOccupation=txtMotherOccu.Text; fd.Phone=txtPhoneNo.Text; fd.Address=txtAddress.Text; fd.GuardianName=txtGardianName.Text; dc.SubmitChanges();


AdventureWorksDataContext db = new AdventureWorksDataContext(); db.Log = Console.Out; // Get hte first customer record Customer c = from cust in db.Customers select cust where id = 5; Console.WriteLine(c.CustomerType); c.CustomerType = ''I''; db.SubmitChanges(); // Save the changes away


public bool UpdateCustomerIno(CustomerInfo toUpdate) { bool successfullySaved = false; var db = new DataClasses1DataContext(); try { var dbCstInfo = db.CustomerInfos .Where(w => w.CustomerID == toUpdate.CustomerID) .SingleOrDefault(); if (dbCstInfo != null) { dbCstInfo.FirstName = toUpdate.FirstName; dbCstInfo.LastName = toUpdate.LastName; db.SubmitChanges(); successfullySaved = true; } } catch { successfullySaved = false; } return successfullySaved; }