oe, es posible que un objeto tenga una lista de el mismo como si fuera un atributo pd: quiero intentar hacer una plantilla de producción donde tenga en cuenta la cantidad de tiempo que lleva fabricar un componente. sabiendo que el producto final es la combinación de varios componentes y que los componentes posiblemente lleven otros componentes cada componente debe tener en cuenta el tiempo que se lleve fabricarlo y así determinar la fecha y cantidad que hay que anticipar a producir de un componente poder satisfacer la demanda
imagina que tenes objetos de clase "Marca", y cada "Marca" tiene a su vez una array de "productos", entonces... Si tenes una lista de "Marca" y queres sacar una "sub-lista" con todos los "productos" que hay entre todas las marcas, podes hacer un "listaMarcas.select(marca => marca.listaProductos)" pero eso te da una "lista donde cada item es otro array :s" y no un "único array donde cada item es un producto", entonces usas el selectMany
Buen vídeo Hector, esperaba ver el método Aggregate, este lo uso para convertir una lista en una cadena separada por comas pero creo que ese método tiene mucho mas potencial.
admito que el zip es el único que nunca use y lo veo raro de usar en un futuro... el resto lo uso todo el tiempo, casi nunca escribo ningún for/foreach. Luego con la .AsParallel() podes sacar mucho provecho de optimización para procesar operaciones simples sobre listas muy grandes.
Zip y All son los unicos que no he usado porque no he visto la necesidad de usarlas, apenas tenga una problema con las que necesite usarla fijo que las uso.
Estoy haciendo una web y se me ocurrió usar las api de Instagram para mostrar imágenes en lugar de cargar la base de datos con esas imágenes. Se me complica a la hora de los token. Si puedes hacer un video explicando te agradecería una banda. El Proyecto que estoy haciendo esta en mvc
Cuando comenzaba con linq y vi "zip" pensé que los comprimía 😂. Pero a ver, una consulta mi estimado, desde tu experiencia y usando lambda, ¿Cuál sería la mejor forma de simular un left o right join? 🤔
Si vas a hacer Joins lo mejor es escribirlo en forma de "query" por que podes usar los "into", "let", etc... es decir, algo del estilo from item_A in lista_A join item_B in lista_B on item_A equals item_B select new {A = item_A, B = item_B} El problema es que eso es siempre un inner join, si queres un left/right tenes que usar un "into" y un "DefaultIfEmpty()".... from item_A in lista_A join item_B in lista_B on item_A equals item_B into resultado_Join from item_Join in resultado_Join.DefaultIfEmpty() select new {A = item_A, B = item_Join}
@@m3mbrillo_ Así lo hacía inicialmente, en forma de "query", pero no sé, en lo personal me gusta más la forma lambda, es más un gusto personal, porque sí he utilizado lo que dices y sí funciona, aunque en lambda también se puede hacer left join, pero ahí es de tener bien configuradas las relaciones, ya que por ejemplo, cuando haces un "join" con lambda y el Foreign Key puede tener valores nulos (Por ejemplo que sea int?) entonces te hará un left join, es la única forma más viable que he encontrado hasta ahora, por lo demás, suele hacer inner join en la mayoría de casos... Pero como dices, la forma "query" sería la más fácil de adaptar, pero bueno, existimos algunos que nos gusta complicarnos de gusto xD
@@Kamihakker pasa que cuando te pones a hacer reportes que tienen como 50 campos, joins, agrupamientos locos, etc, queda todo mucho más lindo en query jaja
@@m3mbrillo_ eso es cierto xD, cuando es una consulta super extremadamente endemoniada, pues se ve más chulo en forma de "query", lo admito... Pero bueno, aún así, me sigue gustando la forma lambda xD
Si te ha gustado el video puedes apoyarme dejándome un pulgar arriba y compartir en tus redes sociales
oe, es posible que un objeto tenga una lista de el mismo como si fuera un atributo
pd: quiero intentar hacer una plantilla de producción donde tenga en cuenta la cantidad de tiempo que lleva fabricar un componente.
sabiendo que el producto final es la combinación de varios componentes y que los componentes posiblemente lleven otros componentes
cada componente debe tener en cuenta el tiempo que se lleve fabricarlo y así determinar la fecha y cantidad que hay que anticipar a producir de un componente poder satisfacer la demanda
hechate el arte con net 6
Eres el mejor de UA-cam saludos desde Ecuador
gracias Hector tus videos siempre son un aporte
Gracias Héctor ❕❕
Explicar con cervezas será una de las características de tu marca. Creo que tienes un elemento para branding que vale oro. Éxitos y buena vibra bro
Excelente
Maestro que gran explicación
TANTAS CERVEZAS ME DIO SED VOY POR UNAS, EXCELENTE VIDEO
Excelente Hector "El Bambino" -- Great Job!
Muy práctica la explicación, muchas gracias.
Muy bueno Héctor súper claro
Muchas gracias, fue de gran ayuda para mí
ME encanta cuando explicas con cheves, crack!
Excelente explicación, usamos Linq en nuestros proyectos y esto nos servirá bastante. Muchas gracias
Muy bueno. El último metodo me confundio un poco xd
imagina que tenes objetos de clase "Marca", y cada "Marca" tiene a su vez una array de "productos", entonces... Si tenes una lista de "Marca" y queres sacar una "sub-lista" con todos los "productos" que hay entre todas las marcas, podes hacer un "listaMarcas.select(marca => marca.listaProductos)" pero eso te da una "lista donde cada item es otro array :s" y no un "único array donde cada item es un producto", entonces usas el selectMany
Héctor! que loco! fijate que muchas veces usé el Zip en python pero nunca se me ocurrio usarlo en C#
Gracias a tus vídeos ahora utilizo las tuplas en C# net core, me recuerda mucho al Destructuring en Javascript (React js) excelente Héctor 👏🏼
Muchas gracias por el video, para complementar con el GroupJoin, se puede realizar también al estilo de la clausula left join
donde trabajo no nos dejan usar LINQ por el performance y toca mapear a manito aunque estamos por optar por Dapper ...excelente video Saludos !!!
Linq puedes utilizarlo con colecciones no solo para obtener info de la base de datos. Dapper es buena opción vs EF
@@juanguillermocamarilloarev3446 ciertamente corrijo se trata de Entity Framework lo que no dejan usar
Si haces cosas como unión o subquerys en EntityFramework si reduces mucho el performance :(
El método Take, si no es raro, funciona de una manera muy interesante 👍🏼
Deberías de sacar un curso de Linq, explicas muy bien
es este ,es la leccion 5
Buen vídeo Hector, esperaba ver el método Aggregate, este lo uso para convertir una lista en una cadena separada por comas pero creo que ese método tiene mucho mas potencial.
admito que el zip es el único que nunca use y lo veo raro de usar en un futuro... el resto lo uso todo el tiempo, casi nunca escribo ningún for/foreach.
Luego con la .AsParallel() podes sacar mucho provecho de optimización para procesar operaciones simples sobre listas muy grandes.
Yo sólo usaba el Join, y el selectmany
Zip y All son los unicos que no he usado porque no he visto la necesidad de usarlas, apenas tenga una problema con las que necesite usarla fijo que las uso.
Ahora serán más utilizados. jejeje
Genial en video... Hay otra forma de usar que no sea en una sola línea muy parecido a sentencias sql. Cierto?
Se utiliza de las 2 formas
donde puedo descargar a libreria? no la encuentro por ningun lado.
Estoy haciendo una web y se me ocurrió usar las api de Instagram para mostrar imágenes en lugar de cargar la base de datos con esas imágenes. Se me complica a la hora de los token. Si puedes hacer un video explicando te agradecería una banda. El Proyecto que estoy haciendo esta en mvc
Cuando comenzaba con linq y vi "zip" pensé que los comprimía 😂.
Pero a ver, una consulta mi estimado, desde tu experiencia y usando lambda, ¿Cuál sería la mejor forma de simular un left o right join? 🤔
Si vas a hacer Joins lo mejor es escribirlo en forma de "query" por que podes usar los "into", "let", etc... es decir, algo del estilo
from item_A in lista_A
join item_B in lista_B on item_A equals item_B
select new {A = item_A, B = item_B}
El problema es que eso es siempre un inner join, si queres un left/right tenes que usar un "into" y un "DefaultIfEmpty()"....
from item_A in lista_A
join item_B in lista_B on item_A equals item_B into resultado_Join
from item_Join in resultado_Join.DefaultIfEmpty()
select new {A = item_A, B = item_Join}
@@m3mbrillo_ Así lo hacía inicialmente, en forma de "query", pero no sé, en lo personal me gusta más la forma lambda, es más un gusto personal, porque sí he utilizado lo que dices y sí funciona, aunque en lambda también se puede hacer left join, pero ahí es de tener bien configuradas las relaciones, ya que por ejemplo, cuando haces un "join" con lambda y el Foreign Key puede tener valores nulos (Por ejemplo que sea int?) entonces te hará un left join, es la única forma más viable que he encontrado hasta ahora, por lo demás, suele hacer inner join en la mayoría de casos...
Pero como dices, la forma "query" sería la más fácil de adaptar, pero bueno, existimos algunos que nos gusta complicarnos de gusto xD
@@Kamihakker pasa que cuando te pones a hacer reportes que tienen como 50 campos, joins, agrupamientos locos, etc, queda todo mucho más lindo en query jaja
@@m3mbrillo_ eso es cierto xD, cuando es una consulta super extremadamente endemoniada, pues se ve más chulo en forma de "query", lo admito... Pero bueno, aún así, me sigue gustando la forma lambda xD