Stack Overflow en español Asked by Roberto Canela on February 2, 2021
voy empezado el linq, como podria convertir este Query de Sql a Linq.
Gracias a todos de antemano.
Query
SELECT (SELECT
TOP 1 t2.ccodigop
FROM syncsalesuptest.dbo.datasalesupproduct AS t2
WHERE t2.ccodigop = p.ccodigoproducto ) AS codigob,
t1.codigoproducto AS codigoa,
t1.descripcion AS nombre
FROM bbd1.dbo.productosa AS t1
(
select top 1
p2.ccodigop
FROM bbd2.dbo.productosb AS t2
WHERE t2.ccodigop = t1.codigoproducto ) IS NULL
ORDER BY p.codigoproducto
RESULTADO
CodigoB, CodigoA, Nombre
NULL, 00100010, Producto A
NULL, 20145009, Producto B
NULL, 22138422, Producto C
NULL, 22241719, Producto D
TABLA 1
CODIGOPRODUCTO, DESCRIPCION
00100010, Producto A
20145009, Producto B
22138422, Producto C
22241719, Producto D
TABLA 2
CODIGOPRODUCTO, DESCRIPCION
20145009, Producto B
22241719, Producto D
tal vez no me di a explicar bien, ya lo solucione con una expresión lambda y enviando la información filtrada a una tercer lista y me funciono, si tienen alguna observación estoy al pendiente, Saludos.
var lstAdd =
(from f in
(from a in lstSQLP
join b in resultado on a.Ccodigoproducto equals b.codigo
into c
from b in c.DefaultIfEmpty()
select new DataSalesupProduct
{
Ccodigop = a.Ccodigoproducto,
Cdescripcionp = a.Cnombreproducto,
Cstatus = a.Cstatusproducto,
Cidtask = (
new Func<int>(
() =>
{
if (b == null)
return 1;
else
return 0;
}
)
).Invoke()
})
where f.Cidtask == 1 && f.Cstatus == 1
select new DataSalesupProduct
{
Ccodigop = f.Ccodigop,
Cdescripcionp = f.Cdescripcionp,
Cstatus = f.Cstatus,
Cidtask = f.Cidtask
}
).ToList();
Answered by Roberto Canela on February 2, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP