C sharp - Como pasar este segmento de codigo a Linq?

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 14 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Como pasar este segmento de codigo a Linq?

Publicado por Lan (1 intervención) el 14/04/2020 06:07:33
1
2
3
4
5
6
7
8
9
10
11
12
foreach (DataRow row in dt1.Rows)
{
    //aqui busca el articulo y lo actualiza
    string sqlOrden = "";
    sqlOrden = "UPDATE ArtGenerales SET CostoProm =" + Convert.ToString(row[7]) + ", FechaUltModCosto = GetDate() " +
               "where Empresa= " + Convert.ToString(empresa) + " and Sucursal=" + Convert.ToString(sucursal) + " " +
               "and CodigoBarras = '" + Convert.ToString(row[0]) + "'";
    cnn.Open();
    SqlCommand cmdUpdate = new SqlCommand(sqlOrden, cnn);
    cmdUpdate.ExecuteNonQuery();
 
    cnn.Close();

Hola a todos y ante todo, gracias por sus respuestas ya que invierten tiempo muy valioso a esta comunidad, como pueden notar tengo esta consulta que se repite muchas beses y tarda tiempo en ejecutarse y me han comentado que Linq es mucho mas rápido, pero con honestidad e utilizado poco Linq, cualquier ayuda o idea les agradezco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo Daniel A.
Val: 33
Ha aumentado 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Como pasar este segmento de codigo a Linq?

Publicado por Leonardo Daniel A. (16 intervenciones) el 14/04/2020 08:22:11
LINQ es para hacer querys

https://www.tutorialsteacher.com/linq/sample-linq-queries

quien te dijo eso no sabe de que habla, y de hecho es menos rapido que usar ADO directamente, es rapido porque no escribe las sentencis y llenas objetos campo por campo, porque ya tienes una clase de datos a la cual va ligada

para que tus sentencias SQL sean rapidas cuando usas WHERE debes tener indices para esas condiciones, en este caso un Indice Compuesto ( Empresa, Sucursal, Cod_barras ) y todavia asi esta mal, lo que estas haciendo porque haces un update por cada linea, que pasa si falla uno ??? debes usar transacciones para cuando actualizes datos (update, delete, insert) de tal forma que si hay un error, hagas un rollback y dejes todo sin cambios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar